home *** CD-ROM | disk | FTP | other *** search
- ****************************************************************************
- *********** Track 2 File V1.22 by Wanted Team ***********
- *********** Release date 28.10.99. ***********
- ****************************************************************************
-
- include /system.gs
- include 'libraries/gadtools.i'
- include 'libraries/reqtools.i'
- include 'libraries/xfdmaster.i'
- ; include 'misc/devpacmacros.i'
-
- ; OPT o+
-
- CP = 0
- GP = 1
- JR = 2
- SA = 3
- SC = 4
- SF = 5
- SP = 6
- SQ = 7
- AM1 = 8
- AM2 = 9
- LOB = 10
- RLE = 11
- SB = 12
- id89A8 = 13
- id89AA = 14
- id89AB = 15
- id89AC = 16
- id89AD = 17
- id9999 = 18
- id9AAA = 19
- id9ABB = 20
- id9ACC = 21
- id9ACD = 22
- id18051973 = 23
- id0815 = 24
- GC = 25
- ACE = 26
- ALC0 = 27
- ARP3 = 28
- ARPF = 29
- ATM5 = 30
- ATN = 31
- ATOM = 0
- Ace? = 1
- ArcD = 2
- ArcR = 3
- arcD = 4
- BDPI = 5
- BH72 = 6
- BH73 = 7
- BHC3 = 8
- BOND = 9
- CHFC = 10
- CHFI = 11
- CMP1 = 12
- CrM = 13
- CrM2 = 14
- Crm = 15
- Crm2 = 16
- CRND = 17
- CRUa = 18
- CRUN = 19
- CSFX = 20
- D815 = 21
- DHp2 = 22
- DOUG = 23
- Dtpk = 24
- Dupa = 25
- EDAM = 26
- ESL = 27
- FB = 28
- FIRE = 29
- FLT = 30
- FRED = 31
- GC2 = 0
- GC3 = 1
- GP11 = 2
- HAL = 3
- HUF = 4
- ICE = 5
- IFT? = 6
- IMP = 7
- Ice = 8
- KDUB = 9
- LR88 = 10
- LSD = 11
- LZDA = 12
- LZSS = 13
- LZWH = 14
- LeCr = 15
- MASM = 16
- MASS = 17
- MD12 = 18
- MICK = 19
- MTP1 = 20
- MTPS = 21
- MWC1 = 22
- PAC1 = 23
- PACKV12 = 24
- PARA = 25
- PP20 = 26
- PaCK = 27
- PaK0 = 28
- pack = 29
- RNC0 = 30
- RNC1 = 31
- RNC2 = 0
- S300 = 1
- S310 = 2
- S400 = 3
- S401 = 4
- S403 = 5
- S404 = 6
- SFCD = 7
- SFHD = 8
- SLAM = 9
- SPv3 = 10
- SSUR = 11
- TITS = 12
- TPWM = 13
- TSM = 14
- Taz = 15
- VDCO = 16
- VOL1 = 17
- ViS1 = 18
- ViSL = 19
- Vic2 = 20
- WJSD = 21
- XP10 = 22
- XPKF = 23
- XPKZ = 24
- XX50 = 25
- xVdg = 26
- xXxX = 27
-
- ; STRUCTURE Variable,0
- ; APTR _DosBase
- ; ULONG _IntBase
- ; STRUCT Buffer,256
- ;
- ; LABEL vars_SIZEOF
-
-
- DosBase = 0*4
- IntBase = 1*4
- GrfxBase = 2*4
- GadBase = 3*4
- ReqBase = 4*4
- XfdBase = 5*4
- Windows = 6*4
- WindowPrefs = 7*4
- FileReqL = 8*4
- FileReqS = 9*4
- FileList = 10*4
- FileListReq = 11*4
- FileListAdd = 12*4
- OriginalSize = 13*4
- PackedSize = 14*4
- StartFileID = 15*4
- EndFile = 16*4
- AllocStart = 17*4
- AllocEnd = 18*4
- AllocLength = 19*4
- FileHandles = 20*4
- LockZap = 21*4
- Scrl = 22*4
- ErrorTrack = 23*4
- SizeVar = 24*4
- Scr = 25*4
- Visual = 26*4
- IncVar = 27*4
- DecrVar = 28*4
- SkipVar = 29*4
- SetNameZero = 30*4
- DriveNum = 31*4
- DriveNum2 = 32*4
- DisplayID = 33*4
- AboutPacker = 34*4
- Enable1 = 35*4
- Enable2 = 36*4
- Enable3 = 37*4
- Enable4 = 38*4
- Enable5 = 39*4
- IncFileName = 40*4
- DecrFile = 41*4
- SkipFile = 42*4
- DeepSearch = 43*4
- FormatNumbers = 44*4
- DriveNumbers = 44*4+2
- RNC_old = 45*4
- Reserved = 46*4
- Reserved2 = 47*4
- DeepVar = 47*4+2
- DiskVar = 48*4+2
- StartFileID2 = 49*4+2
- DecrError = 50*4+2
- NextID = 51*4+2
- IncCancel = 52*4+2
- DecrCancel = 53*4+2
- SkipCancel = 54*4+2
- DeepCancel = 55*4+2
- DriveCancel = 56*4+2
- WindowLock = 57*4+2
- BufTextNames = 58*4+2
- BufTextNodes = 59*4+2
- FormatNum = 60*4+2
- FormatCancel = 61*4+2
- RNCCancel = 62*4+2
- BufOldRNC = 63*4+2
-
- Exec = 4
-
- ;exec.library
- Forbid = -132
- Permit = -138
- AllocMem = -198
- FreeMem = -210
- AvailMem = -216
- FindTask = -294
- AddPort = -354
- RemPort = -360
- GetMsg = -372
- ReplyMsg = -378
- WaitPort = -384
- CloseLibrary = -414
- SetFunction = -420
- OpenDevice = -444
- CloseDevice = -450
- DoIO = -456
- OpenResource = -498
- RawDoFmt = -522
- OpenLibrary = -552
- OpenWindowTagList= -606
- OpenScreenTagList= -612
-
- ;dos.library
- Open = -30
- Close = -36
- Read = -42
- Write = -48
- Lock = -84
- UnLock = -90
- Examine = -102
- IoErr = -132
- SetComment = -180
- SetIoErr = -462
- Fault = -468
- PrintFault = -474
-
- ;intuition.library
- ClearPointer = -60
- CloseWindow = -72
- DisplayAlert = -90
- ModifyIDCMP = -150
- OffGadget = -174
- OnGadget = -186
- OpenWindow = -204
- SetWindowTitles = -276
- ActivateGadget = -462
- LockPubScreen = -510
- UnlockPubScreen = -516
- EasyRequestArgs = -588
-
- ;graphics.library
- Text = -60
- SetFont = -66
- OpenFont = -72
- Move = -240
- Draw = -246
- RectFill = -306
- SetAPen = -342
- SetBPen = -348
- SetDrMd = -354
- ScrollRaster = -396
-
- ;gadtools.library
- CreateGadgets = -30
- FreeGadgets = -36
- GT_SetGadgetAttrsA= -42
- GT_GetIMsg = -72
- GT_ReplyIMsg = -78
- GT_RefreshWindow= -84
- GT_BeginRefresh = -90
- GT_EndRefresh = -96
- CreateContext = -114
- DrawBevelBoxA = -120
- GetVisualInfoA = -126
- FreeVisualInfo = -132
-
- ;reqtools.library
- rtAllocRequestA = -30
- rtFreeRequest = -36
- rtChangeReqAttrA= -48
- rtFileRequestA = -54
- rtFreeFileList = -60
- rtEZRequestA = -66
- rtGetStringA = -72
- rtSetWaitPointer= -114
- rtLockWindow = -156
- rtUnlockWindow = -162
-
- ;xfdmaster.library
- xfdAllocBufferInfo= -30
- xfdFreeBufferInfo= -36
- xfdRecogBuffer = -54
- xfdDecrunchBuffer= -60
- xfdGetErrorText = -78
- xfdAllocObject = -114
- xfdFreeObject = -120
- xfdScanData = -138
- xfdFreeScanList = -144
- xfdInitScanHook = -156
-
- WindowRastPort = $32
- IDCMP = $56
-
- GadWidth = 100
- GadHeight = 24
- GadNaStyk = 20
- GadLeftEdge = (640-(GadWidth*5)-(4*GadNaStyk))/2
- GadTopEdge = 31
-
- Section Main_Code,Code
-
- bra.b Run
-
- dc.b '$VER: Track2File V1.22 beta Release date 27.10.99.',0
- CNOP 0,2
-
- Run:
- movem.l d0/a0,-(sp) save initial values
- lea returnMsg(pc),a1
- clr.l (a1)
-
- sub.l a1,a1
- move.l Exec.w,a6
- jsr FindTask(a6) find us
- move.l d0,a4
-
- tst.l pr_CLI(a4)
- beq.s fromWorkbench
-
- * we were called from the CLI
- movem.l (sp)+,d0/a0 restore regs
- bra.s end_startup and run the user prog
-
- * we were called from the Workbench
-
- fromWorkbench
- lea pr_MsgPort(a4),a0
- move.l Exec.w,a6
- jsr WaitPort(a6) wait for a message
-
- lea pr_MsgPort(a4),a0
- move.l Exec.w,a6
- jsr GetMsg(a6) then get it
- move.l d0,returnMsg save it for later reply
-
- * do some other stuff here like the command line etc
-
- movem.l (sp)+,d0/a0 restore
- end_startup
- bsr.s _main call our program
-
- * returns to here with exit code in d0
- move.l d0,-(sp) save it
-
- tst.l returnMsg
- beq.s exitToDOS if I was a CLI
-
- move.l Exec.w,a6
- jsr Forbid(a6)
-
- move.l returnMsg(pc),a1
- move.l Exec.w,a6
- jsr ReplyMsg(a6)
-
- exitToDOS
- move.l (sp)+,d0 exit code
- rts
-
- * startup code variable
-
- returnMsg dc.l 0
-
- _main
-
- lea Variables(pc),a5
-
- ;otwarcie dos.library
-
- moveq #0,d0
- lea DosName(pc),a1
- move.l Exec.w,a6
- jsr OpenLibrary(a6)
- move.l d0,DosBase(a5)
- beq.w ErrorOpenDos
-
- ;otwarcie intuition.library
-
- moveq #0,d0
- lea IntName(pc),a1
- move.l Exec.w,a6
- jsr OpenLibrary(a6)
- move.l d0,IntBase(a5)
- beq.w ErrorOpenInt
-
- ;otwarcie graphics.library
-
- moveq #0,d0
- lea GfxName(pc),a1
- move.l Exec.w,a6
- jsr OpenLibrary(a6)
- move.l d0,GrfxBase(a5)
- beq.w ErrorOpenGfx
-
- ; nowa funkcja Text z graphics.library
-
- ; bsr.w SetFunc
-
- ;otwarcie gadtools.library
-
- moveq #37,d0 ;wersja 37
- lea GadName(pc),a1
- move.l Exec.w,a6
- jsr OpenLibrary(a6)
- move.l d0,GadBase(a5)
- beq.w DisplayAlertGad
-
- ;otwarcie reqtools.library
-
- moveq #38,d0 ;wersja 38
- lea ReqName(pc),a1
- move.l Exec.w,a6
- jsr OpenLibrary(a6)
- move.l d0,ReqBase(a5)
- beq.w DisplayAlertReq
-
- ;otwarcie xfdmaster.library
-
- moveq #37,d0 ;wersja 37
- lea XfdName(pc),a1
- move.l Exec.w,a6
- jsr OpenLibrary(a6)
- move.l d0,XfdBase(a5)
- beq.w DisplayAlertXfd
-
- ;allokacja pamieci na bufor tekstu
-
- move.l #(200*14)+(200*100),d0
- move.l #$10001,d1 ;Public i Clear
- move.l Exec.w,a6
- jsr AllocMem(a6)
- move.l d0,BufTextNodes(A5)
- beq.w ErrorAllocBufText
- move.l d0,a0
- lea 200*14(a0),a0
- move.l a0,BufTextNames(A5)
- lea ID_List2(pc),a0
- move.l d0,(a0)
- move.l d0,8(a0)
-
- ;przydzielenie struktury dla file requesterow
-
- moveq #0,d0
- sub.l a0,a0
- move.l ReqBase(a5),a6
- jsr rtAllocRequestA(a6)
- move.l d0,FileReqL(a5)
- beq.w ErrorAllocReqL
-
- moveq #0,d0
- sub.l a0,a0
- move.l ReqBase(a5),a6
- jsr rtAllocRequestA(a6)
- move.l d0,FileReqS(a5)
- beq.w ErrorAllocReqS
-
- ;otwarcie TrackDisk.device - dodanie tasku do systemu
-
- sub.l a1,a1 ; task name
- move.l Exec.w,a6
- jsr FindTask(a6)
-
- lea DiskRep(pc),a1 ; port address
- move.l d0,16(a1) ; task address
- move.l Exec.w,a6
- jsr AddPort(a6)
-
- ;Public Screen
-
- sub.l a0,a0 ; screen name
- move.l IntBase(a5),a6
- jsr LockPubScreen(a6)
- move.l d0,Scr(a5) ; screen ptr
- beq.w ErrorPubScreen
-
- ;Get Visual Info
-
- move.l d0,a0 ; screen
- sub.l a1,a1 ; tag list
- move.l GadBase(a5),a6
- jsr GetVisualInfoA(a6)
- move.l d0,Visual(a5)
- beq.w ErrorVisual
-
- lea Visual1(pc),a0
- move.l d0,(a0)
- lea Visual2(pc),a0
- move.l d0,(a0)
- lea Visual3(pc),a0
- move.l d0,(a0)
- lea Visual4(pc),a0
- move.l d0,(a0)
- lea Visual5(pc),a0
- move.l d0,(a0)
- lea Visual6(pc),a0
- move.l d0,(a0)
- lea Visual7(pc),a0
- move.l d0,(a0)
- lea Visual8(pc),a0
- move.l d0,(a0)
- lea Visual9(pc),a0
- move.l d0,(a0)
- lea Visual10(pc),a0
- move.l d0,(a0)
- lea Visual11(pc),a0
- move.l d0,(a0)
- lea Visual12(pc),a0
- move.l d0,(a0)
- lea Visual13(pc),a0
- move.l d0,(a0)
- lea Visual14(pc),a0
- move.l d0,(a0)
- lea Visual15(pc),a0
- move.l d0,(a0)
- lea Visual16(pc),a0
- move.l d0,(a0)
- lea Visual17(pc),a0
- move.l d0,(a0)
- lea Visual18(pc),a0
- move.l d0,(a0)
- lea Visual19(pc),a0
- move.l d0,(a0)
- lea Visual20(pc),a0
- move.l d0,(a0)
- lea Visual21(pc),a0
- move.l d0,(a0)
- lea Visual22(pc),a0
- move.l d0,(a0)
-
- ;Create Context
-
- lea Glist(pc),a0
- move.l GadBase(a5),a6
- jsr CreateContext(a6)
- lea Gadget1(pc),a0
- move.l d0,(a0)
- beq.w ErrorContext
-
- ;Create Gadget Disk Read
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea DiskReadGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea Gadget2(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Load File
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea LoadFileGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea Gadget3(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Search
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea SearchGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea Gadget4(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Prefs
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea PrefsGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea Gadget5(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget About
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea AboutsGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea Gadget6(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;czy NTSC
-
- move.l GrfxBase(a5),a0
- cmpi.w #200,$d8(a0)
- bgt.b ScreenPAL
-
- lea WinHei(pc),a0
- move.l #189,(a0)
- lea Box1(pc),a0
- move.l #108,2(a0)
- lea Box2(pc),a0
- move.l #106,2(a0)
- lea Niedodaj(pc),a0
- move.l #11,2(a0)
- lea Niedo(pc),a0
- move.l #11,2(a0)
- lea StatusGad(pc),a0
- move.w #107,6(a0)
-
- ScreenPAL:
-
- ;Create Gadget Status Window
-
- move.l d0,a0
- moveq #LISTVIEW_KIND,d0
- lea StatusGad(pc),a1
- lea TagListView2(pc),a2
- jsr CreateGadgets(a6)
- lea Gadget7(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;otarcie New Window
-
- sub.l a0,a0
- lea WindowTags(pc),a1
- move.l IntBase(a5),a6
- jsr OpenWindowTagList(a6)
- move.l d0,Windows(a5)
- beq.w ErrorOpenWindow
-
- lea WindowLoad(pc),a0
- move.l d0,(a0)
- lea WindowSave(pc),a0
- move.l d0,(a0)
- lea WindowAbout(pc),a0
- move.l d0,(a0)
- lea WindowCont(pc),a0
- move.l d0,(a0)
- lea WindowCont2(pc),a0
- move.l d0,(a0)
-
- ;ustawienie fontow Topaz 8
-
- lea Font(pc),a0
- move.l GrfxBase(a5),a6
- jsr OpenFont(a6)
-
- move.l d0,a0
- move.l Windows(a5),a1
- move.l WindowRastPort(a1),a1
- jsr SetFont(a6)
-
- ***************************************************************************
-
- bsr.w Box
-
- ;odswiezenie okna
-
- move.l Windows(a5),a0
- sub.l a1,a1
- move.l GadBase(a5),a6
- jsr GT_RefreshWindow(a6)
-
- ***************************************************************************
-
- ;loading preferences
-
- moveq #50,d0
- move.l #$10001,d1 ;Public i Clear
- move.l Exec.w,a6
- jsr AllocMem(a6)
- move.l d0,a4
- beq.w ErrorLoadPrefs
-
- lea PrefsName(pc),a0
- move.l a0,d1
- move.l #1005,d2
- move.l DosBase(a5),a6
- jsr Open(a6)
- move.l d0,FileHandles(a5)
- beq.w ErrorLoadPrefs
-
- move.l d0,d1
- move.l a4,d2 ; adres przydzielonej pamieci na prefsy
- moveq #50,d3
- jsr Read(a6)
-
- tst.l d0
- beq.w ErrorLoadPrefs
- move.l d0,d7
-
- move.l FileHandles(a5),d1
- jsr Close(a6)
-
- tst.l d0
- beq.w ErrorLoadPrefs
-
- cmpi.l #32,d7
- bne.w PrefsOk
-
- move.l (a4),Enable1(a5)
- move.l 4(a4),Enable2(a5)
- move.l 8(a4),Enable3(a5)
- move.l 12(a4),IncFileName(a5)
- move.l 16(a4),DecrFile(a5)
- move.l 20(a4),SkipFile(a5)
- move.l 24(a4),DeepSearch(a5)
- move.w 28(a4),FormatNumbers(a5)
- move.w 30(a4),DriveNumbers(a5)
-
- bra.w Main_3
- PrefsOk
- moveq #0,d7
- lea EnableID(pc),a0
- lea (a4),a1 ; adres prefsow
- move.l (a1)+,d0 ; ustawione bity IDow
- Loops4:
- tst.l (a0) ; czy koniec tekstu z IDami
- beq.b Main_2
- move.l (a0),a2 ; adres tekstu z IDem
- cmpi.b #32,d7 ; czy ostatni bit
- bne.b NoOver4
- moveq #0,d7
- move.l (a1)+,d0 ; nastepne ust. bity
- NoOver4:
- btst d7,d0
- beq.b NoDisable5
- move.b #'D',(a2)
- bra.b NoDisable6
- NoDisable5:
- move.b #' ',(a2)
- NoDisable6:
- addq.b #1,d7
- addq.l #4,a0
- bra.b Loops4
-
- ErrorLoadPrefs:
- lea ErrorLoadPrefsText(pc),a0
- bsr.w PrintStatus
-
- Main_2:
- move.l (a4),Enable1(a5)
- move.l 4(a4),Enable2(a5)
- move.l 8(a4),Enable3(a5)
- move.l 12(a4),Enable4(a5)
- move.l 16(a4),Enable5(a5)
- move.l 20(a4),IncFileName(a5)
- move.l 24(a4),DecrFile(a5)
- move.l 28(a4),SkipFile(a5)
- move.l 32(a4),DeepSearch(a5)
- move.w 36(a4),FormatNumbers(a5)
- move.w 38(a4),DriveNumbers(a5)
- move.l 40(a4),RNC_old(a5)
- Main_3
- move.l IncFileName(a5),IncVar(a5)
- lea Inc(pc),a0
- move.l IncFileName(a5),(a0)
- lea IncCheck(pc),a0
- move.l IncFileName(a5),(a0)
- move.l DecrFile(a5),DecrVar(a5)
- lea Decr(pc),a0
- move.l DecrFile(a5),(a0)
- lea DecrCheck(pc),a0
- move.l DecrFile(a5),(a0)
- move.l SkipFile(a5),SkipVar(a5)
- lea Skip(pc),a0
- move.l SkipFile(a5),(a0)
- lea SkipCheck(pc),a0
- move.l SkipFile(a5),(a0)
- move.l DeepSearch(a5),DeepVar(a5)
- lea Dee(pc),a0
- move.l DeepSearch(a5),(a0)
- lea DeepCheck(pc),a0
- move.l DeepSearch(a5),(a0)
- lea RNC_(pc),a0
- move.l RNC_old(a5),(a0)
- lea RNCCheck(pc),a0
- move.l RNC_old(a5),(a0)
-
- move.w FormatNumbers(a5),FormatNum+2(a5)
- lea Format+2(pc),a0
- move.w FormatNumbers(a5),(a0)
- lea FormatActive+2(pc),a0
- move.w FormatNumbers(a5),(a0)
-
- move.w DriveNumbers(a5),DriveNum+2(a5)
- lea Drv+2(pc),a0
- move.w DriveNumbers(a5),(a0)
- lea DriveActive+2(pc),a0
- move.w DriveNumbers(a5),(a0)
-
- move.l a4,a1
- moveq #50,d0
- move.l Exec.w,a6
- jsr FreeMem(a6)
-
- ;Create Context2
-
- lea Glist2(pc),a0
- move.l GadBase(a5),a6
- jsr CreateContext(a6)
- lea GadgetPref1(pc),a0
- move.l d0,(a0)
- beq.w ErrorContext
-
- ;Create Gadget Pref Cycle
-
- move.l d0,a0
- moveq #CYCLE_KIND,d0
- lea CycleGad(pc),a1
- lea TagListCycle(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref2(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget CheckBox
-
- move.l d0,a0
- moveq #CHECKBOX_KIND,d0
- lea ChBoxGad(pc),a1
- lea TagListChBox(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref3(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget CheckBox2
-
- move.l d0,a0
- moveq #CHECKBOX_KIND,d0
- lea ChBoxGad2(pc),a1
- lea TagListChBox2(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref4(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget CheckBox3
-
- move.l d0,a0
- moveq #CHECKBOX_KIND,d0
- lea ChBoxGad3(pc),a1
- lea TagListChBox3(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref5(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget CheckBox4
-
- move.l d0,a0
- moveq #CHECKBOX_KIND,d0
- lea ChBoxGad4(pc),a1
- lea TagListChBox4(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPrefA(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget CheckBox5
-
- move.l d0,a0
- moveq #CHECKBOX_KIND,d0
- lea ChBoxGad5(pc),a1
- lea TagListChBox5(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPrefF(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Save
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea SaveGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref6(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Use
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea UseGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref7(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Cancel
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea CancelGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref8(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Invert
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea InvertGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPrefB(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Clear
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea ClearGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPrefC(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Image
-
- move.l d0,a0
- moveq #BUTTON_KIND,d0
- lea ImageGad(pc),a1
- lea TagListButton(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPrefD(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Enable/Disable
-
- move.l d0,a0
- moveq #LISTVIEW_KIND,d0
- lea ListViewGad(pc),a1
- lea TagListView(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPref9(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ;Create Gadget Pref Cycle2
-
- move.l d0,a0
- moveq #CYCLE_KIND,d0
- lea CycleGadE(pc),a1
- lea TagListCycleE(pc),a2
- jsr CreateGadgets(a6)
- lea GadgetPrefE(pc),a0
- move.l d0,(a0)
- beq.w ErrorCreateGad
-
- ***************************************************************************
-
- ;glowny program
-
- Main:
- move.l Windows(a5),a0
- move.l IDCMP(a0),a0
- move.l Exec.w,a6
- jsr WaitPort(a6)
-
- move.l Windows(a5),a0
- move.l IDCMP(a0),a0
- move.l GadBase(a5),a6
- jsr GT_GetIMsg(a6)
-
- tst.l d0
- beq.b Main
-
- move.l d0,a1
- move.l $14(a1),d5 ; Class
- move.w $18(a1),d6 ; Code
- ; move.w $1a(a1),d7 ; Qualifier
- move.l $1c(a1),a4 ; IAddress
- jsr GT_ReplyIMsg(a6)
-
- cmpi.l #IDCMP_CLOSEWINDOW,d5
- beq.w Quit
-
- cmpi.l #IDCMP_GADGETUP,d5
- bne.b Keys
-
- move.w $26(a4),d0
-
- cmpi.w #1,d0
- beq.w ReadDisk
-
- cmpi.w #2,d0
- beq.w LoadFile
-
- cmpi.w #3,d0
- beq.w Searching
-
- cmpi.w #4,d0
- beq.w Prefs
-
- cmpi.w #5,d0
- beq.w About
-
- bra.b Main
- Keys:
- cmpi.l #IDCMP_VANILLAKEY,d5
- bne.b Size
-
- cmpi.w #27,d6
- beq.w Quit
-
- cmpi.w #'r',d6
- beq.w ReadDisk
-
- cmpi.w #'l',d6
- beq.w LoadFile
-
- cmpi.w #'s',d6
- beq.w Searching
-
- cmpi.w #'p',d6
- beq.w Prefs
-
- cmpi.w #'a',d6
- beq.w About
-
- bra.w Main
- Size:
- cmpi.l #IDCMP_NEWSIZE,d5
- beq.b NewSize
-
- bra.w Main
-
- NewSize:
- bsr.b Size2
-
- bra.w Main
-
- Size2:
- not.l SizeVar(a5)
-
- tst.l SizeVar(a5)
- bne.b NoSize
-
- bsr.w Box
-
- move.l Windows(a5),a0
- sub.l a1,a1
- move.l GadBase(a5),a6
- jsr GT_RefreshWindow(a6)
-
- clr.l Scrl(a5)
- NoSize:
- rts
-
- ***************************************************************************
-
- Quit:
- tst.l FileList(a5)
- beq.b NotFree2
-
- move.l FileList(a5),a0
- move.l ReqBase(a5),a6
- jsr rtFreeFileList(a6)
-
- clr.l FileList(a5)
-
- NotFree2:
- bsr.w FreeMemory
-
- move.l Windows(a5),a0
- move.l IntBase(a5),a6
- jsr CloseWindow(a6)
-
- ErrorOpenWindow:
-
- ErrorCreateGad:
-
- move.l GadgetPref1(pc),a0
- move.l GadBase(a5),a6
- jsr FreeGadgets(a6)
-
- move.l Gadget1(pc),a0
- jsr FreeGadgets(a6)
-
- ErrorContext:
- move.l Visual(a5),a0
- move.l GadBase(a5),a6
- jsr FreeVisualInfo(a6)
-
- ErrorVisual:
- sub.l a0,a0
- move.l Scr(a5),a1
- move.l IntBase(a5),a6
- jsr UnlockPubScreen(a6)
-
- ErrorPubScreen:
- lea DiskRep(pc),a1
- move.l Exec.w,a6
- jsr RemPort(a6)
-
- ErrorOpenTrack:
- move.l FileReqS(a5),a1
- move.l ReqBase(a5),a6
- jsr rtFreeRequest(a6)
-
- ErrorAllocReqS:
- move.l FileReqL(a5),a1
- move.l ReqBase(a5),a6
- jsr rtFreeRequest(a6)
-
- ErrorAllocBufText
- move.l BufTextNodes(a5),a1
- move.l #(200*14)+(200*100),d0
- move.l Exec.w,a6
- jsr FreeMem(a6)
-
- ErrorAllocReqL:
- move.l XfdBase(a5),a1
- move.l Exec.w,a6
- jsr CloseLibrary(a6)
-
- ErrorOpenXfd:
- move.l ReqBase(a5),a1
- move.l Exec.w,a6
- jsr CloseLibrary(a6)
-
- ErrorOpenReq:
- move.l GadBase(a5),a1
- move.l Exec.w,a6
- jsr CloseLibrary(a6)
-
- ErrorOpenGad:
- ; bsr.w SetOldFunc
-
- move.l GrfxBase(a5),a1
- move.l Exec.w,a6
- jsr CloseLibrary(a6)
-
- ErrorOpenGfx:
- move.l IntBase(a5),a1
- move.l Exec.w,a6
- jsr CloseLibrary(a6)
-
- ErrorOpenInt:
- move.l DosBase(a5),a1
- move.l Exec.w,a6
- jsr CloseLibrary(a6)
-
- ErrorOpenDos:
- moveq #0,d0
- rts
-
- ***************************************************************************
-
- DisplayAlertGad:
- lea StructGad(pc),a1
- bsr.b Display
- bra.b ErrorOpenGad
-
- DisplayAlertReq:
- lea StructReq(pc),a1
- bsr.b Display
- bra.b ErrorOpenReq
-
- DisplayAlertXfd:
- lea StructXfd(pc),a1
- bsr.b Display
- bra.b ErrorOpenXfd
-
- Display:
- sub.l a0,a0
- sub.l a2,a2
- sub.l a3,a3
- move.l IntBase(a5),a6
- jsr EasyRequestArgs(a6)
-
- rts
-
- StructGad:
- dc.l GadSizeOf
- dc.l 0
- dc.l DisplayGad
- dc.l AlertGad
- dc.l InGad
- GadSizeOf:
-
- StructReq:
- dc.l ReqSizeOf
- dc.l 0
- dc.l DisplayGad
- dc.l AlertReq
- dc.l InGad
- ReqSizeOf:
-
- StructXfd:
- dc.l XfdSizeOf
- dc.l 0
- dc.l DisplayGad
- dc.l AlertXfd
- dc.l InGad
- XfdSizeOf:
-
- DisplayGad:
- dc.b 'Track2File',0
- AlertGad:
- dc.b 'Unable to open',10,'gadtools.library V37+',0
- AlertReq:
- dc.b 'Unable to open',10,'reqtools.library V38+',0
- AlertXfd:
- dc.b 'Unable to open',10,'xfdmaster.library V37+',0
- InGad:
- dc.b 'Ok',0
- CNOP 0,2
-
- ***************************************************************************
-
- Searching:
- bsr.w WaitPointer
- bsr.b SearchID
- bsr.w WorkPointer
-
- bra.w Main
-
- SearchID:
- clr.l DecrError(a5)
-
- moveq #0,d0
- bsr.w FillZero ;skasowanie paska kolorem tla
-
- clr.l SetNameZero(a5) ;skasowanie licznika ilosci plikow
-
- tst.l AllocStart(a5)
- beq.w BufferEmpty ;czy bufor pusty
-
- lea SearchIDText(pc),a0
- bsr.w PrintStatus ;wyswietlenie tekstu
-
- move.l AllocStart(a5),a0 ;poczatek bufora
- move.l AllocEnd(a5),a1 ;koniec bufora
- CS:
- bsr.w WaitPointer ;wskaznik myszy zajety
-
- move.l Enable1(a5),d3 ;enable/disable IDs
- move.l Enable2(a5),d4
- move.l Enable3(a5),d5
- move.l Enable4(a5),d6
- move.l Enable5(a5),d7
-
- bsr.w Search ;szukanie pliku
- beq.w NoFind ;nic nie znalazl jezeli 0
- bmi.w Abort ;przerwanie szukania
-
- bsr.w PrintID ;dane o pliku
- move.l StartFileID(a5),StartFileID2(a5)
- SOC:
- tst.l DecrVar(a5) ;czy decrunch before save
- bne.w Decrunch
-
- tst.l IncVar(a5) ;czy inc file name
- bne.b SaFi
-
- bsr.w SaveOrCont ;requester information
- tst.l d0
- beq.b ContSearch
- cmpi.l #2,d0
- beq.w Decrunch
- cmpi.l #3,d0
- beq.w Abort
- SaFi:
- bsr.w SaveFile ;nagranie pliku spakowanego
-
- tst.l IncVar(a5) ;czy inc file name
- bne.b ContSearch
-
- bra.b SOC
-
- ContSearch:
- lea ContinueSearch(pc),a0
- bsr.w PrintStatus
-
- move.l StartFileID(a5),a0
- move.l AllocEnd(a5),a1
-
- cmp.l #'BOND',DisplayID(a5)
- beq.b YesBond
-
- tst.l SkipVar(a5) ;czy skip file
- beq.b NoSkip
- YesBond
- tst.l PackedSize(a5)
- beq.b NoSkip
- add.l PackedSize(a5),a0 ;dodaj dlugosc pliku
- subq.l #4,a0
- bsr.w Fill
- NoSkip:
- cmpa.l a0,a1 ;czy koniec bufora
- bls.b NoFind
- addq.l #1,a0
- tst.l DeepVar(a5)
- bne.w CS3
- move.l d0,-(a7)
- move.l a0,d0
- btst #0,d0
- beq.b CS2
- addq.l #1,a0
- CS2:
- move.l (a7)+,d0
- CS3:
- cmpi.b #'9',DisplayID(a5)
- beq.b CS4
- cmpi.l #'LOB ',DisplayID(a5)
- bne.w CS
- addq.l #2,a0
- bra.w CS
- CS4
- addq.l #4,a0
- bra.w CS
-
- NoFind:
- moveq #3,d0
- bsr.w FillZero ;caly pasek na niebiesko
-
- lea NothingFound(pc),a0
- bsr.w PrintStatus
-
- tst.l FileListAdd(a5) ;czy ostatni plik do wczytania
- bne.b LoadNext
-
- NoFile:
- rts
-
- Abort:
- lea AbortSearch(pc),a0
- bsr.w PrintStatus
-
- rts
-
- LoadNext:
- ; clr.l DecrError(a5)
-
- move.l FileListAdd(a5),a0
- move.l (a0),FileListAdd(a5)
- move.l 8(a0),a0
- bsr.w LoadIt
-
- bra.w SearchID
-
- ***************************************************************************
-
- Search:
- moveq #0,d0
- ContSearching:
- tst.l DeepVar(a5)
- beq.b NoDeep
-
- lsl.l #8,d0
- move.b (a0)+,d0
- beq.w CompareCounter
- bra.b Deep
- NoDeep
- swap.w d0
- move.w (a0)+,d0
- beq.w CompareCounter
- Deep
- cmpi.w #'z!',d0
- ; bhi.w CompareCounter
- bcc.w CompareCounter
-
- cmpi.w #'CP',d0
- beq.w _ID_CP
-
- cmpi.w #'GP',d0
- beq.w _ID_GP
-
- cmpi.w #'JR',d0
- beq.w _ID_JR
-
- cmpi.w #'SA',d0
- beq.w _ID_SA
-
- cmpi.w #'SC',d0
- beq.w _ID_SC
-
- cmpi.w #'SF',d0
- beq.w _ID_SF
-
- cmpi.w #'SP',d0
- beq.w _ID_SP
-
- cmpi.w #'SQ',d0
- beq.w _ID_SQ
-
- cmpi.l #'=SB=',d0
- beq.w _ID_SB
-
- cmpi.l #$08090A08,d0
- beq.w _ID_89A8
-
- cmpi.l #$08090A0A,d0
- beq.w _ID_89AA
-
- cmpi.l #$08090A0B,d0
- beq.w _ID_89AB
-
- cmpi.l #$08090A0C,d0
- beq.w _ID_89AC
-
- cmpi.l #$08090A0D,d0
- beq.w _ID_89AD
-
- cmpi.l #$09090909,d0
- beq.w _ID_9999
-
- cmpi.l #$090A0A0A,d0
- beq.w _ID_9AAA
-
- cmpi.l #$090A0B0B,d0
- beq.w _ID_9ABB
-
- cmpi.l #$090A0C0C,d0
- beq.w _ID_9ACC
-
- cmpi.l #$090A0C0D,d0
- beq.w _ID_9ACD
-
- cmpi.l #$18051973,d0
- beq.w _ID_18051973
-
- cmpi.l #'0815',d0
- beq.w _ID_0815
-
- cmpi.l #'!GC!',d0
- beq.w _ID_GC
-
- cmpi.l #'ACE!',d0
- beq.w _ID_ACE
-
- cmpi.l #'ALC0',d0
- beq.w _ID_ALC0
-
- cmpi.l #'ARP3',d0
- beq.w _ID_ARP3
-
- cmpi.l #'ARPF',d0
- beq.w _ID_ARPF
-
- cmpi.l #'ATM5',d0
- beq.w _ID_ATM5
-
- cmpi.l #'ATN!',d0
- beq.w _ID_ATN
-
- cmpi.l #'ATOM',d0
- beq.w _ID_ATOM
-
- cmpi.l #'Ace?',d0
- beq.w _ID_Ace?
-
- cmpi.l #'ArcD',d0
- beq.w _ID_ArcD
-
- cmpi.l #'ArcR',d0
- beq.w _ID_ArcR
-
- cmpi.l #'arcD',d0
- beq.w _ID_arcD
-
- cmpi.l #'BDPI',d0
- beq.w _ID_BDPI
-
- cmpi.l #'BH72',d0
- beq.w _ID_BH72
-
- cmpi.l #'BH73',d0
- beq.w _ID_BH73
-
- cmpi.l #'BHC3',d0
- beq.w _ID_BHC3
-
- cmpi.l #'.BON',d0
- beq.w _ID_BOND
-
- cmpi.l #'CHFC',d0
- beq.w _ID_CHFC
-
- cmpi.l #'CHFI',d0
- beq.w _ID_CHFI
-
- cmpi.l #'CMP1',d0
- beq.w _ID_CMP1
-
- cmpi.l #'CrM!',d0
- beq.w _ID_CrM
-
- cmpi.l #'CrM2',d0
- beq.w _ID_CrM2
-
- cmpi.l #'Crm!',d0
- beq.w _ID_Crm
-
- cmpi.l #'Crm2',d0
- beq.w _ID_Crm2
-
- cmpi.l #'CRND',d0
- beq.w _ID_CRND
-
- cmpi.l #'CRUa',d0
- beq.w _ID_CRUa
-
- cmpi.l #'CRUN',d0
- beq.w _ID_CRUN
-
- cmpi.l #'CSFX',d0
- beq.w _ID_CSFX
-
- cmpi.l #'D815',d0
- beq.w _ID_D815
-
- cmpi.l #'DHp2',d0
- beq.w _ID_DHp2
-
- cmpi.l #'DOUG',d0
- beq.w _ID_DOUG
-
- cmpi.l #'Dtpk',d0
- beq.w _ID_Dtpk
-
- cmpi.l #'Dupa',d0
- beq.w _ID_Dupa
-
- cmpi.l #'EDAM',d0
- beq.w _ID_EDAM
-
- cmpi.l #'ESL!',d0
- beq.w _ID_ESL
-
- cmpi.l #'FB@@',d0
- beq.w _ID_FB
-
- cmpi.l #'FIRE',d0
- beq.w _ID_FIRE
-
- cmpi.l #'FLT!',d0
- beq.w _ID_FLT
-
- cmpi.l #'FRED',d0
- beq.w _ID_FRED
-
- cmpi.l #'GC!'<<8+2,d0
- beq.w _ID_GC2
-
- cmpi.l #'GC!'<<8+3,d0
- beq.w _ID_GC3
-
- cmpi.l #'GP11',d0
- beq.w _ID_GP11
-
- cmpi.l #'HAL!',d0
- beq.w _ID_HAL
-
- cmpi.l #'HUF#',d0
- beq.w _ID_HUF
-
- cmpi.l #'ICE!',d0
- beq.w _ID_ICE
-
- cmpi.l #'IFT?',d0
- beq.w _ID_IFT?
-
- cmpi.l #'IMP!',d0
- beq.w _ID_IMP
-
- cmpi.l #'Ice!',d0
- beq.w _ID_Ice
-
- cmpi.l #'KDUB',d0
- beq.w _ID_KDUB
-
- cmpi.l #'LR88',d0
- beq.w _ID_LR88
-
- cmpi.l #'LSD!',d0
- beq.w _ID_LSD
-
- cmpi.l #'LZDA',d0
- beq.w _ID_LZDA
-
- cmpi.l #'LZSS',d0
- beq.w _ID_LZSS
-
- cmpi.l #'LZWH',d0
- beq.w _ID_LZWH
-
- cmpi.l #'LeCr',d0
- beq.w _ID_LeCr
-
- cmpi.l #'MASM',d0
- beq.w _ID_MASM
-
- cmpi.l #'MASS',d0
- beq.w _ID_MASS
-
- cmpi.l #'MD12',d0
- beq.w _ID_MD12
-
- cmpi.l #'MICK',d0
- beq.w _ID_MICK
-
- cmpi.l #'MTP1',d0
- beq.w _ID_MTP1
-
- cmpi.l #'MTPS',d0
- beq.w _ID_MTPS
-
- cmpi.l #'MWC'<<8+1,d0
- beq.w _ID_MWC1
-
- cmpi.l #'PAC'<<8+1,d0
- beq.w _ID_PAC1
-
- cmpi.l #'PACK',d0
- beq.w _ID_PACK
-
- cmpi.l #'PARA',d0
- beq.w _ID_PARA
-
- cmpi.l #'PP20',d0
- beq.w _ID_PP20
-
- cmpi.l #'PaCK',d0
- beq.w _ID_PaCK
-
- cmpi.l #'PaK0',d0
- beq.w _ID_PaK0
-
- cmpi.l #'pack',d0
- beq.w _ID_pack
-
- cmpi.l #'RNC'<<8+0,d0
- beq.w _ID_RNC0
-
- cmpi.l #'RNC'<<8+1,d0
- beq.w _ID_RNC1
-
- cmpi.l #'RNC'<<8+2,d0
- beq.w _ID_RNC2
-
- cmpi.l #'S300',d0
- beq.w _ID_S300
-
- cmpi.l #'S310',d0
- beq.w _ID_S310
-
- cmpi.l #'S400',d0
- beq.w _ID_S400
-
- cmpi.l #'S401',d0
- beq.w _ID_S401
-
- cmpi.l #'S403',d0
- beq.w _ID_S403
-
- cmpi.l #'S404',d0
- beq.w _ID_S404
-
- cmpi.l #'SFCD',d0
- beq.w _ID_SFCD
-
- cmpi.l #'SFHD',d0
- beq.w _ID_SFHD
-
- cmpi.l #'SLAM',d0
- beq.w _ID_SLAM
-
- cmpi.l #'SPv3',d0
- beq.w _ID_SPv3
-
- cmpi.l #'SSUR',d0
- beq.w _ID_SSUR
-
- cmpi.l #'TITS',d0
- beq.w _ID_TITS
-
- cmpi.l #'T.S ',d0
- beq.w _ID_T.S
-
- cmpi.l #'TPWM',d0
- beq.w _ID_TPWM
-
- cmpi.l #'TSM!',d0
- beq.w _ID_TSM
-
- cmpi.l #'Taz!',d0
- beq.w _ID_Taz
-
- cmpi.l #'VDCO',d0
- beq.w _ID_VDCO
-
- cmpi.l #'VOL1',d0
- beq.w _ID_VOL1
-
- cmpi.l #'ViS1',d0
- beq.w _ID_ViS1
-
- cmpi.l #'ViSL',d0
- beq.w _ID_ViSL
-
- cmpi.l #'Vic2',d0
- beq.w _ID_Vic2
-
- cmpi.l #'WJSD',d0
- beq.w _ID_WJSD
-
- cmpi.l #'XP10',d0
- beq.w _ID_XP10
-
- cmpi.l #'XPKF',d0
- beq.w _ID_XPKF
-
- cmpi.l #'XPKZ',d0
- beq.w _ID_XPKZ
-
- cmpi.l #'XX50',d0
- beq.w _ID_XX50
-
- cmpi.l #'xVdg',d0
- beq.w _ID_xVdg
-
- cmpi.l #'xXxX',d0
- beq.w _ID_xXxX
- _ID_Exit:
- move.l d0,-(a7)
- andi.l #$ffffff00,d0
-
- cmpi.l #'1AM '-32,d0
- beq.w _ID_1AM
- _1AM1_Exit:
- cmpi.l #'2AM '-32,d0
- beq.w _ID_2AM
- _2AM1_Exit:
-
- move.l (a7)+,d0
-
- tst.l DeepVar(a5)
- bne.b Nop
-
- cmpi.l #'RLE '-32,d0
- beq.w _ID_RLE
-
- bra.b _RLE_Exit
- Nop:
- andi.l #$00ffffff,d0
-
- cmpi.l #'RLE',d0
- beq.w _ID_RLE
- _RLE_Exit:
- andi.l #$00ffffff,d0
-
- cmpi.l #'LOB',d0
- beq.w _ID_LOB
- _LOB_Exit:
-
- CompareCounter:
- move.l a0,d2
- lsl.l #4,d2
- tst.w d2
- bne.b NoFill
- bsr.w Fill
- bne.b ContAbort
- NoFill:
- cmpa.l a0,a1
- bhi.w ContSearching ;w wersji 1.11 jest bge.w
- ; bge.w ContSearching
-
- moveq #0,d0
- rts
-
- ContAbort:
- moveq #-1,d0
- rts
-
- ****************************************************************************
-
- _ID_CP
- btst.l #CP,d3
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #6,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' CP ',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_GP
- btst.l #GP,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #6,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' GP ',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_JR
- btst.l #JR,d3
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' JR ',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SA
- btst.l #SA,d3
- bne.w _ID_Exit
-
- move.l a0,a2
- bsr.w GetWord
- cmpi.w #6,d1
- bhi.w _ID_Exit
-
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
-
- move.l a0,a2
- addq.l #2,a2
- bsr.w GetWord
- beq.w _ID_Exit
- lsl.l #3,d1
- add.l #14,d1
- moveq #0,d2
- move.l d1,d2
- addq.l #6,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l d1,d2
- move.l d2,PackedSize(a5)
-
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' SA ',DisplayID(a5)
- lea MagnText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SC
- btst.l #SC,d3
- bne.w _ID_Exit
-
- move.l a0,a2
- bsr.w GetWord
- cmpi.w #6,d1
- bhi.w _ID_Exit
-
- moveq #0,d2
- move.w d1,d2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- mulu.w d2,d1
- move.l d1,OriginalSize(a5)
-
- move.l a0,a2
- bsr.w GetWord
- moveq #2,d2
- lsl.l d1,d2
- add.l #12,d2
- addq.l #6,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l d1,d2
- move.l d2,PackedSize(a5)
-
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' SC ',DisplayID(a5)
- lea MagnText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SF
- btst.l #SF,d3
- bne.w _ID_Exit
-
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
-
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- andi.l #$fffffffe,d1
- add.l #12,d1
- move.l d1,PackedSize(a5)
-
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' SF ',DisplayID(a5)
- lea MagnText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SP
- btst.l #SP,d3
- bne.w _ID_Exit
-
- move.l a0,a2
- bsr.w GetWord
- cmpi.w #6,d1
- bhi.w _ID_Exit
-
- moveq #0,d2
- move.w d1,d2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- mulu.w d2,d1
- move.l d1,OriginalSize(a5)
-
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
-
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' SP ',DisplayID(a5)
- lea MagnText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SQ
- btst.l #SQ,d3
- bne.w _ID_Exit
-
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #7,d1
- andi.l #$fffffff8,d1
- move.l d1,OriginalSize(a5)
-
- addq.l #4,a2
- bsr.w GetLongWord
- andi.l #$ffffff,d1
- beq.w _ID_Exit
- lsl.l #2,d1
- add.l #10,d1
- move.l d1,PackedSize(a5)
- andi.l #$ffe00000,d1
- bne.w _ID_Exit
-
- subq.l #2,a0
- move.l a0,StartFileID(a5)
- move.l #' SQ ',DisplayID(a5)
- lea MagnText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_1AM
- btst.l #AM1,d3
- bne.w _1AM1_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _1AM1_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _1AM1_Exit
- add.l #16,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'1AM ',DisplayID(a5)
- lea Stone3FakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'S',(a0)+
- move.b #'3',(a0)+
- move.b #'0',(a0)+
- move.b #'0',(a0)
- addq.l #4,a7
- moveq #1,d0
- rts
- _ID_2AM
- btst.l #AM2,d3
- bne.w _2AM1_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _2AM1_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _2AM1_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'2AM ',DisplayID(a5)
- lea Stone2FakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'S',(a0)+
- move.b #'4',(a0)+
- move.b #'0',(a0)+
- move.b #'1',(a0)
- addq.l #4,a7
- moveq #1,d0
- rts
- _ID_LOB
- btst.l #LOB,d3
- bne.w _LOB_Exit
- move.l a0,a2
- cmp.b #6,(a0)
- bhi.w _LOB_Exit
-
- cmp.l #7,FormatNum(a5)
- bne.b .skip
-
- bsr.b LOB_decode
- .skip
- bsr.w GetLongWord
- beq.w _LOB_Exit
- andi.l #$001fffff,d1
- beq.w _LOB_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- tst.b (a2)
- bne.w _LOB_Exit
- bsr.w GetLongWord
- beq.w _LOB_Exit
- add.l #12,d1
- move.l OriginalSize(a5),d0
- cmp.l d1,d0
- bhi.s Higher
- and.l #$ffff,d1
- clr.b 5(a0)
- Higher
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'LOB0',d0
- add.b 4(a0),d0
- move.l d0,DisplayID(a5)
- lea LOBText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- LOB_decode
- movem.l D0-D2/D7/A0,-(SP)
-
- moveq #0,d0
- moveq #0,d1
- moveq #$57,D2
-
- addq.l #4,a0
- move.w (a0),d0
- ; move.l #$848,d7
-
- ifne 1
- eor.w d0,(a0)+
- move.w D0,D1
- lsl.w #4,D0
- add.w D1,D0
- add.w D2,D0
-
- eor.w d0,(a0)+
- move.w D0,D1
- lsl.w #4,D0
- add.w D1,D0
- add.w D2,D0
-
- move.l -4(a0),d7
- endc
-
- addq.l #1,D7
- asr.l #1,D7
- bra.b lbC0266AC
-
- lbC0266A2
- eor.w D0,(A0)+
- move.w D0,D1
- lsl.w #4,D0
- add.w D1,D0
- add.w D2,D0
- lbC0266AC
- subq.l #1,D7
- bpl.s lbC0266A2
- movem.l (SP)+,D0-D2/D7/A0
- rts
- _ID_RLE
- btst.l #RLE,d3
- bne.w _RLE_Exit
- tst.l DeepVar(a5)
- beq.b ContRLE
- addq.l #1,a0
- ContRLE:
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _RLE_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _RLE_Exit
- add.l #64,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'RLE ',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SB
- btst.l #SB,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'=SB=',DisplayID(a5)
- lea SBText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_89A8
- btst.l #id89A8,d3
- bne.w _ID_Exit
- bsr.w CheckStone
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'89A8',DisplayID(a5)
- lea Text89A8(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_89AA
- btst.l #id89AA,d3
- bne.w _ID_Exit
- bsr.w CheckStone
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'89AA',DisplayID(a5)
- lea Text89A8(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_89AB
- btst.l #id89AB,d3
- bne.w _ID_Exit
- bsr.w CheckStone
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'89AB',DisplayID(a5)
- lea Text89A8(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_89AC
- btst.l #id89AC,d3
- bne.w _ID_Exit
- bsr.w CheckStone
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'89AC',DisplayID(a5)
- lea Text89A8(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_89AD
- btst.l #id89AD,d3
- bne.w _ID_Exit
- bsr.w CheckStone
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'89AD',DisplayID(a5)
- lea Text89A8(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- CheckStone
- lea -8(A0),A2
- bsr.w GetLongWord
- cmp.l #'S300',D1
- beq.b .yes
- moveq #0,d1
- rts
- .yes
- moveq #-1,d1
- rts
- _ID_9999
- btst.l #id9999,d3
- bne.w _ID_Exit
- bsr.w CheckPP20fake
- tst.l d0
- beq.w _ID_Exit
- move.l #'9999',DisplayID(a5)
- moveq #1,d0
- rts
-
- _ID_9AAA
- btst.l #id9AAA,d3
- bne.w _ID_Exit
- bsr.w CheckPP20fake
- tst.l d0
- beq.w _ID_Exit
- move.l #'9AAA',DisplayID(a5)
- moveq #1,d0
- rts
-
- _ID_9ABB
- btst.l #id9ABB,d3
- bne.w _ID_Exit
- bsr.w CheckPP20fake
- tst.l d0
- beq.w _ID_Exit
- move.l #'9ABB',DisplayID(a5)
- moveq #1,d0
- rts
-
- _ID_9ACC
- btst.l #id9ACC,d3
- bne.w _ID_Exit
- bsr.w CheckPP20fake
- tst.l d0
- beq.w _ID_Exit
- move.l #'9ACC',DisplayID(a5)
- moveq #1,d0
- rts
-
- _ID_9ACD
- btst.l #id9ACD,d3
- bne.w _ID_Exit
- bsr.w CheckPP20fake
- tst.l d0
- beq.w _ID_Exit
- move.l #'9ACD',DisplayID(a5)
- moveq #1,d0
- rts
-
- CheckPP20fake
- ; tst.l NextID(a5)
- ; bne.w ._ID_Exit2
-
- lea -8(A0),A2
- bsr.w GetLongWord
- cmp.l #'PP20',d1
- beq.w ._ID_Exit2
-
- cmp.w #$8000,-4(a2)
- beq.b .tnt
-
- bsr.w TestFileSize
- beq.w ._ID_Exit2
- move.l d1,PackedSize(a5)
- add.l d1,a2
- subq.l #4,a2
- .go
- bsr.w GetLongWord
- lsr.l #8,d1
- beq.w ._ID_Exit2
- move.l d1,OriginalSize(a5)
- andi.l #$ffe00000,d1
- bne.w ._ID_Exit2
- subq.l #8,a0
- move.l a0,StartFileID(a5)
- move.b #'P',(a0)+
- move.b #'P',(a0)+
- move.b #'2',(a0)+
- move.b #'0',(a0)
- lea TITSText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- ._ID_Exit2
- moveq #0,d0
- rts
- .tnt
- subq.l #4,a2
- clr.w (a2)
-
- bsr.w TestFileSize
- beq.w ._ID_Exit2
- move.l d1,PackedSize(a5)
-
- bset #7,(a2)
- add.l d1,a2
-
- bra.b .go
-
- _ID_18051973
- btst.l #id18051973,d3
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CrM2',DisplayID(a5)
- lea ViSLText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'2',(a0)
- moveq #1,d0
- rts
- _ID_0815
- btst.l #id0815,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'0815',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_GC
- btst.l #GC,d3
- bne.w _ID_Exit
- move.l #'!GC!',DisplayID(a5)
- move.b #'P',-4(a0)
- move.b #'P',-3(a0)
- move.b #'2',-2(a0)
- move.b #'0',-1(a0)
- bra.w _IDpp20
- _ID_ACE
- btst.l #ACE,d3
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ACE!',DisplayID(a5)
- lea ByteKillerText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ALC0
- btst.l #ALC0,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ALC0',DisplayID(a5)
- lea ALC0Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ARP3
- btst.l #ARP3,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l d1,a2
- add.l #$20,d1
- move.l d1,PackedSize(a5)
- lea $18(a2),a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
-
- tst.l 8-4(A0)
- beq.b .skip
- move.l A2,-(A7)
- move.l A0,A2
- addq.l #4,A2
- bsr.w GetLongWord
- sub.l #$C00000,D1
- add.l d1,PackedSize(a5)
- move.l (A7)+,A2
- add.l D1,A2
- bsr.w GetLongWord
- add.l d1,OriginalSize(a5)
- .skip
- tst.l 12-4(A0)
- beq.b .skip2
- move.l A2,-(A7)
- move.l A0,A2
- addq.l #8,A2
- bsr.w GetLongWord
- sub.l #$200000,D1
- add.l d1,PackedSize(a5)
- move.l (A7)+,A2
- add.l D1,A2
- bsr.w GetLongWord
- add.l d1,OriginalSize(a5)
- .skip2
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ARP3',DisplayID(a5)
- lea ByteKillerText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ARPF
- btst.l #ARPF,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l d1,a2
- add.l #12,d1
- move.l d1,PackedSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ARPF',DisplayID(a5)
- lea ByteKillerText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ATM5
- btst.l #ATM5,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ATM5',DisplayID(a5)
- lea IAMText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ATN
- btst.l #ATN,d3
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ATN!',DisplayID(a5)
- lea ATNText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ATOM
- btst.l #ATOM,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ATOM',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_Ace?
- btst.l #Ace?,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Ace?',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ArcD
- btst.l #ArcD,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ArcD',DisplayID(a5)
- lea ArcDText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ArcR
- btst.l #ArcR,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #44,d1
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ArcR',DisplayID(a5)
- lea ArcDText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_arcD
- btst.l #arcD,d4
- bne.w _ID_Exit
- move.l a0,a2
- bclr.b #7,(a2)
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'arcD',DisplayID(a5)
- lea ArcDText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_BDPI
- btst.l #BDPI,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'BDPI',DisplayID(a5)
- lea DupaText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'M',(a0)+
- move.b #'P',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_BH72
- btst.l #BH72,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'BH72',DisplayID(a5)
- lea StoneFakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'S',(a0)+
- move.b #'4',(a0)+
- move.b #'0',(a0)+
- move.b #'4',(a0)
- moveq #1,d0
- rts
- _ID_BH73
- btst.l #BH73,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'BH73',DisplayID(a5)
- lea StoneFakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'S',(a0)+
- move.b #'4',(a0)+
- move.b #'0',(a0)+
- move.b #'4',(a0)
- moveq #1,d0
- rts
- _ID_BHC3
- btst.l #BHC3,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- move.l (A2)+,D2
- addq.w #1,A2
- moveq #0,D1
- move.b (A2)+,D1
- add.w D1,A2
- add.w (A2)+,A2
- add.w (A2)+,A2
- add.w (A2)+,A2
- move.l A2,D1
- add.l D2,D1
- sub.l A0,D1
- addq.l #6,D1
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'BHC3',DisplayID(a5)
- lea BHC3Text(pc),a2
- move.l a2,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_BOND
- btst.l #BOND,d4
- bne.w _ID_Exit
- move.l a0,a2
- cmp.b #'R',-5(a2)
- bne.b NotShadow
- cmp.b #'D',(a2)
- bne.b NotShadow
- moveq #38,d1
- bra.b Shadow
- NotShadow
- cmp.b #'A',-5(a2)
- bne.w _ID_Exit
- cmp.b #'D',(a2)
- bne.w _ID_Exit
- moveq #26,d1
- Shadow
- sub.l d1,a2
- addq.l #2,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- moveq #4,d2
- DoIt
- bsr.w GetLongWord
- beq.w _ID_Exit
- cmp.l d1,d2
- beq.b LenOK
- addq.l #4,d2
- subq.l #4,a2
- bra.b DoIt
- LenOK
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l d1,PackedSize(a5)
- move.l a2,a0
- move.l a0,StartFileID(a5)
- move.l #'BOND',DisplayID(a5)
- lea BondText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CHFC
- btst.l #CHFC,d4
- bne.w _ID_Exit
- move.l #'CHFC',DisplayID(a5)
- move.b #'P',-4(a0)
- move.b #'P',-3(a0)
- move.b #'2',-2(a0)
- move.b #'0',-1(a0)
- bra.w _IDpp20
-
- _ID_CHFI
- btst.l #CHFI,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CHFI',DisplayID(a5)
- lea DupaText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'M',(a0)+
- move.b #'P',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_CMP1
- btst.l #CMP1,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CMP1',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CrM
- btst.l #CrM,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CrM!',DisplayID(a5)
- lea CrunchManiaText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CrM2
- btst.l #CrM2,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CrM2',DisplayID(a5)
- lea CrunchManiaText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_Crm
- btst.l #Crm,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Crm!',DisplayID(a5)
- lea CrunchManiaText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_Crm2
- btst.l #Crm2,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Crm2',DisplayID(a5)
- lea CrunchManiaText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CRND
- btst.l #CRND,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,-(a7)
- add.l #20,d1
- move.l d1,PackedSize(a5)
- ; sub.l #12,d1
- ; add.l d1,a2
- add.l (a7)+,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CRND',DisplayID(a5)
- lea ByteKillerText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CRUa
- btst.l #CRUa,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CRUa',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CRUN
- btst.l #CRUN,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CRUN',DisplayID(a5)
- lea ByteKillerText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_CSFX
- btst.l #CSFX,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'CSFX',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_D815
- btst.l #D815,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'D815',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_DHp2
- btst.l #DHp2,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #4,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'DHp2',DisplayID(a5)
- lea Ace?Text(pc),a2
- move.l a2,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_DOUG
- btst.l #DOUG,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #16,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'DOUG',DisplayID(a5)
- lea Stone3FakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'S',(a0)+
- move.b #'3',(a0)+
- move.b #'0',(a0)+
- move.b #'0',(a0)
- moveq #1,d0
- rts
- _ID_Dtpk
- btst.l #Dtpk,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Dtpk',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_Dupa
- btst.l #Dupa,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Dupa',DisplayID(a5)
- lea DupaText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'M',(a0)+
- move.b #'P',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_EDAM
- btst.l #EDAM,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'EDAM',DisplayID(a5)
- lea DupaText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'M',(a0)+
- move.b #'P',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_ESL
- btst.l #ESL,d4
- bne.w _ID_Exit
- move.l #'ESL!',DisplayID(a5)
- move.b #'P',-4(a0)
- move.b #'P',-3(a0)
- move.b #'2',-2(a0)
- move.b #'0',-1(a0)
- bra.w _IDpp20
- _ID_FB
- btst.l #FB,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'FB@@',DisplayID(a5)
- lea LZWHText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'L',(a0)+
- move.b #'Z',(a0)+
- move.b #'W',(a0)+
- move.b #'H',(a0)
- moveq #1,d0
- rts
- _ID_FIRE:
- btst.l #FIRE,d4
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'FIRE',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_FLT
- btst.l #FLT,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'FLT!',DisplayID(a5)
- lea DupaText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'M',(a0)+
- move.b #'P',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_FRED
- btst.l #FRED,d4
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'FRED',DisplayID(a5)
- lea DupaText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'M',(a0)+
- move.b #'P',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_GC2
- btst.l #GC2,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'GC!2',DisplayID(a5)
- lea GraftGoldText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_GC3
- btst.l #GC3,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'GC!3',DisplayID(a5)
- lea GraftGoldText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_GP11
- btst.l #GP11,d5
- bne.w _ID_Exit
- move.l a0,a2
- lea 12(a2),a2
- bsr.w GetLongWord
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w GetLongWord
- beq.w _ID_Exit
- sub.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'GP11',DisplayID(a5)
- lea GP11Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_HAL
- btst.l #HAL,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #4,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'HAL!',DisplayID(a5)
- lea MasterText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'L',(a0)+
- move.b #'S',(a0)+
- move.b #'D',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_HUF
- btst.l #HUF,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'HUF#',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ICE
- btst.l #ICE,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ICE!',DisplayID(a5)
- lea IAMText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_IFT?
- btst.l #IFT?,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'IFT?',DisplayID(a5)
- lea ViSLText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'2',(a0)
- moveq #1,d0
- rts
- _ID_IMP
- btst.l #IMP,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'IMP!',DisplayID(a5)
- lea IMPText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_Ice
- btst.l #Ice,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- ; add.l #17,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Ice!',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_KDUB
- btst.l #KDUB,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #4,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'KDUB',DisplayID(a5)
- lea MasterText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'L',(a0)+
- move.b #'S',(a0)+
- move.b #'D',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_LR88
- btst.l #LR88,d5
- bne.w _ID_Exit
- move.l #'LR88',DisplayID(a5)
- move.b #'P',-4(a0)
- move.b #'P',-3(a0)
- move.b #'2',-2(a0)
- move.b #'0',-1(a0)
- bra.w _IDpp20
- _ID_LSD
- btst.l #LSD,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #4,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'LSD!',DisplayID(a5)
- lea MasterText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_LZDA
- btst.l #LZDA,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'LZDA',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_LZSS
- btst.l #LZSS,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'LZSS',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_LZWH
- btst.l #LZWH,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'LZWH',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_LeCr
- btst.l #LeCr,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #32,d1
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #50,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'LeCr',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_MASM
- btst.l #MASM,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'MASM',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_MASS
- btst.l #MASS,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'MASS',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_MD12
- btst.l #MD12,d5
- bne.w _ID_Exit
- move.l #'MD12',DisplayID(a5)
- move.b #'P',-4(a0)
- move.b #'P',-3(a0)
- move.b #'2',-2(a0)
- move.b #'0',-1(a0)
- bra.w _IDpp20
-
- _ID_MICK
- btst.l #MICK,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'MICK',DisplayID(a5)
- lea TSMText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'c',(a0)+
- move.b #'e',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_MTP1
- btst.l #MTP1,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'MTP1',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_MTPS
- btst.l #MTPS,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'MTPS',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_MWC1
- btst.l #MWC1,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'MWC1',DisplayID(a5)
- lea RNCFakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'R',(a0)+
- move.b #'N',(a0)+
- move.b #'C',(a0)+
- move.b #1,(a0)
- moveq #1,d0
- rts
- _ID_PAC1
- btst.l #PAC1,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'PAC1',DisplayID(a5)
- lea RNCFakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'R',(a0)+
- move.b #'N',(a0)+
- move.b #'C',(a0)+
- move.b #1,(a0)
- moveq #1,d0
- rts
- _ID_PACK
- cmp.b #'V',(a0)
- bne.w _ID_Exit
- cmp.b #'1',1(a0)
- bne.w _ID_Exit
- cmp.b #'.',2(a0)
- bne.w _ID_Exit
- cmp.b #'2',3(a0)
- bne.w _ID_Exit
-
- btst.l #PACKV12,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #8,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'PACK',DisplayID(a5)
- lea Master3Text(pc),a2
- move.l a2,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_PARA
- btst.l #PARA,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #46,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'PARA',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- PP20Var
- dc.l ID
- Mode
- dc.l 0
- ID
- dc.l 0
- dc.b 0
-
- best
- dc.b 'best',0
- verygood
- dc.b 'very good',0
- good
- dc.b 'good',0
- mediocre
- dc.b 'mediocre',0
- fast
- dc.b 'fast',0
- even
-
- _ID_PP20
- btst.l #PP20,d5
- bne.w _ID_Exit
-
- move.l #'PP20',DisplayID(a5)
- _IDpp20
- move.l a0,a2
-
- bsr.w GetLongWord
-
- lea best(pc),a2
- cmp.l #$090A0C0D,d1 ; best
- beq.w ModeOk
- lea verygood(pc),a2
- cmp.l #$090A0C0C,d1 ; very good
- beq.w ModeOk
- lea good(pc),a2
- cmp.l #$090A0B0B,d1 ; good
- beq.w ModeOk
- lea mediocre(pc),a2
- cmp.l #$090A0A0A,d1 ; mediocre
- beq.w ModeOk
- lea fast(pc),a2
- cmp.l #$09090909,d1 ; fast
- bne.w _ID_Exit
- ModeOk
- lea Mode(pc),a1
- move.l a2,(a1)
-
- move.l a0,a2
-
- ; cmpi.b #$9,(a2)
- ; blt.w _ID_Exit
- ; cmpi.b #$d,(a2)
- ; bgt.w _ID_Exit
- ; cmpi.b #$9,1(a2)
- ; blt.w _ID_Exit
- ; cmpi.b #$d,1(a2)
- ; bgt.w _ID_Exit
- ; cmpi.b #$9,2(a2)
- ; blt.w _ID_Exit
- ; cmpi.b #$d,2(a2)
- ; bgt.w _ID_Exit
- ; cmpi.b #$9,3(a2)
- ; blt.w _ID_Exit
- ; cmpi.b #$d,3(a2)
- ; bgt.w _ID_Exit
-
- subq.l #4,a0
- move.l a0,StartFileID(a5)
-
- tst.l NextID(a5)
- bne.w Next
-
- movem.l d0-a6,-(a7)
-
- lea ID(pc),a0
- move.l DisplayID(a5),(a0)
-
- lea PP20CalcText(pc),a0
- lea PP20Var(pc),a1
- bsr.w Printf
-
- movem.l (a7)+,d0-a6
-
- tst.l IncVar(a5) ;czy inc file name
- bne.b Trac
-
- bsr.w TraceOrNot
- tst.l d0
- beq.w ContSeaID
- Trac
- movem.l d0-a6,-(a7)
-
- lea PP20Calc2Text(pc),a0
- bsr.w PrintStatus
-
- movem.l (a7)+,d0-a6
-
- move.l #-1,NextID(a5)
-
- move.l a0,-(a7)
- addq.l #2,a0
- move.l AllocEnd(a5),a1
-
- move.l DisplayID(A5),-(A7)
-
- bsr.w Search ;szukanie nastepnego pliku
- beq.w PPNoFind ;nic nie znalazl jezeli 0
- bmi.w PPAbort ;przerwanie szukania
-
- move.l (A7)+,DisplayID(A5)
-
- move.l StartFileID(a5),d0 ;nastepny ID
- Tracing:
- move.l (a7)+,a0 ;ID glowny PP20
- move.l a0,StartFileID(a5)
-
- bsr.w PP20Trace
- tst.l d0
- beq.b TraceError
-
- move.l d1,OriginalSize(a5)
- move.l d0,PackedSize(a5)
-
- ; move.l #'PP20',DisplayID(a5)
- lea PowerPackerText(pc),a0
- move.l a0,AboutPacker(a5)
-
- ; move.l StartFileID(A5),a0
- ; move.b #'P',(a0)+
- ; move.b #'P',(a0)+
- ; move.b #'2',(a0)+
- ; move.b #'0',(a0)
-
- moveq #0,d0
- bsr.w FillZero ;skasowanie paska kolorem tla
-
- clr.l NextID(a5)
- Next:
- moveq #1,d0
- rts
- PPNoFind:
- addq.w #4,A7
- move.l AllocEnd(a5),d0
- bra.b Tracing
- PPAbort:
- addq.w #4,A7
- move.l (a7)+,StartFileID(a5)
- clr.l NextID(a5)
- moveq #-1,d0
- rts
- TraceError:
- clr.l OriginalSize(a5)
- clr.l PackedSize(a5)
- ; move.l #'PP20',DisplayID(a5)
- lea PowerPackerText(pc),a0
- move.l a0,AboutPacker(a5)
- clr.l NextID(a5)
- moveq #1,d0
- rts
-
- TraceOrNot:
- movem.l d1-a6,-(a7)
-
- bsr.w WorkPointer
-
- lea TraceOrNotText(pc),a1
- lea TraceOrNotGad(pc),a2
- sub.l a3,a3
- sub.l a4,a4
- lea SaveOrContTags(pc),a0
- move.l ReqBase(a5),a6
- jsr rtEZRequestA(a6)
-
- move.l d0,-(a7)
-
- bsr.w WaitPointer
-
- move.l (a7)+,d0
-
- movem.l (a7)+,d1-a6
-
- rts
-
- TraceOrNotText:
- dc.b 'Calculate PP20 file length ?',0
- TraceOrNotGad:
- dc.b '_Yes|_No',0
- CNOP 0,2
-
- ContSeaID:
- movem.l d0-a6,-(a7)
- lea ContinueSearch(pc),a0
- bsr.w PrintStatus
- movem.l (a7)+,d0-a6
-
- move.l #'PP20',d0
- move.l StartFileID(a5),a0
- addq.l #4,a0
- move.l AllocEnd(a5),a1
- bra.w _ID_Exit
-
- PP20Trace:
- movem.l d0/a0,-(a7)
-
- lea Trace(pc),a0
- bsr.w PrintStatus
-
- movem.l (a7)+,d0/a0
-
- sub.l a0,d0
- lea Pointer(pc),a1
- moveq #0,d1
- sub.l a2,a2
- move.l XfdBase(a5),a6
- jsr xfdScanData(a6)
-
- tst.w d0
- bne.b ScanError
-
- move.l Pointer(pc),a0
- move.l xfdsn_SaveLen(a0),d0
- move.l xfdsn_Save(a0),a1
- add.l d0,a1
- move.l -(a1),d1
- lsr.l #8,d1
-
- movem.l d0-d1,-(a7)
-
- move.l Pointer(pc),a1
- jsr xfdFreeScanList(a6)
-
- movem.l (a7)+,d0-d1
- rts
- ScanError:
- jsr xfdGetErrorText(a6)
- lea StatusText(pc),a0
- lea StatusVar(pc),a1
- move.l d0,(a1)
- bsr.w Printf
- moveq #0,d0
- rts
- Pointer:
- dc.l 0
-
- _ID_PaCK
- btst.l #PaCK,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'PaCK',DisplayID(a5)
- lea PaCKText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_PaK0
- btst.l #PaK0,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'PaK0',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_pack
- btst.l #pack,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- move.l #0,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'pack',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_RNC0
- btst.l #RNC0,d5
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #8,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'RNC0',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_RNC1
- btst.l #RNC1,d5
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
-
- tst.l RNC_old(a5)
- bne.b _RNC1
-
- add.l #18,d1
- bra.b Siz
- _RNC1
- add.l #12,d1
- Siz
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'RNC1',DisplayID(a5)
-
- tst.l RNC_old(a5)
- bne.b _RNC11
-
- lea RNCText(pc),a0
- bra.b Tex
- _RNC11
- lea RNCOldText(pc),a0
- Tex
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_RNC2
- btst.l #RNC2,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
-
- tst.l RNC_old(a5)
- bne.b _RNC2
-
- add.l #18,d1
- bra.b Siz2
- _RNC2
- add.l #12,d1
- Siz2
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'RNC2',DisplayID(a5)
-
- tst.l RNC_old(a5)
- bne.b _RNC21
-
- lea RNCText(pc),a0
- bra.b Tex2
- _RNC21
- lea RNCOldText(pc),a0
- Tex2
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_S300
- btst.l #S300,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #16,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'S300',DisplayID(a5)
- lea StoneText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_S310
- btst.l #S310,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'S310',DisplayID(a5)
- lea StoneText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_S400
- btst.l #S400,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'S400',DisplayID(a5)
- lea StoneText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_S401
- btst.l #S401,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'S401',DisplayID(a5)
- lea StoneText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_S403
- btst.l #S403,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #20,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'S403',DisplayID(a5)
- lea StoneText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_S404
- btst.l #S404,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'S404',DisplayID(a5)
- lea StoneText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SFCD
- btst.l #SFCD,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'SFCD',DisplayID(a5)
- lea PMCText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SFHD
- btst.l #SFHD,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'SFHD',DisplayID(a5)
- lea PMCText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SLAM
- btst.l #SLAM,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #18,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'SLAM',DisplayID(a5)
- lea StoneFakeText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'S',(a0)+
- move.b #'4',(a0)+
- move.b #'0',(a0)+
- move.b #'4',(a0)
- moveq #1,d0
- rts
- _ID_SPv3
- btst.l #SPv3,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #8,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'SPv3',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_SSUR
- btst.l #SSUR,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w GetLongWord
- beq.w _ID_Exit
- andi.l #$0000e0ff,d1
- bne.w _ID_Exit
- move.b (a2),d1
- ror.l #8,d1
- move.b 1(a2),d1
- ror.l #8,d1
- move.b 2(a2),d1
- ror.l #8,d1
- move.b 3(a2),d1
- ror.l #8,d1
- move.l d1,OriginalSize(a5)
- clr.l PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'SSUR',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_T.S
- cmp.b #'2',(a0)
- bne.w _ID_Exit
- cmp.b #'.',1(a0)
- bne.w _ID_Exit
- cmp.b #'0',2(a0)
- bne.w _ID_Exit
- cmp.b #'0',3(a0)
- bne.w _ID_Exit
- move.l a0,-(A7)
- lea TurtleSmasher2(pc),a0
- bsr.w PrintStatus
- move.l (A7)+,a0
- bra.w _ID_Exit
- _ID_TITS
- btst.l #TITS,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- move.l a0,a2
- subq.l #4,a2
- add.l d1,a2
- bsr.w GetLongWord
- beq.w _ID_Exit
- lsr.l #8,d1
- andi.l #$001fffff,d1
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- move.l a0,StartFileID(a5)
- move.l #'TITS',DisplayID(a5)
- lea TITSText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_TPWM
- btst.l #TPWM,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a0
-
- movem.l d1-a6,-(a7)
- bsr.w TPWM_Decr
- move.l a6,d0
- movem.l (a7)+,d1-a6
-
- sub.l a0,d0
- move.l d0,PackedSize(a5)
- move.l a0,StartFileID(a5)
- move.l #'TPWM',DisplayID(a5)
- lea TPWMText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- TPWM_Decr:
- lea (a0),a6
- sub.l a5,a5
- move.l (A6)+,D0
- move.l (A6)+,D7
- movea.l A5,A4
- adda.l D7,A4
- lbC000008:
- ; cmpa.l a6,a2
- ; beq.b Err
- move.b (A6)+,D0
- moveq #7,D7
- lbC00000C:
- add.b D0,D0
- bcs.s lbC00001E
- ; move.b (A6)+,(A5)+
- addq.l #1,a6
- addq.l #1,a5
- lbC000012:
- cmpa.l A5,A4
- bls.s lbC00001C
- dbra D7,lbC00000C
- bra.s lbC000008
- lbC00001C:
- rts
- lbC00001E:
- ; cmpa.l a6,a2
- ; beq.b Err
- move.b (A6)+,D1
- moveq #0,D2
- move.b D1,D2
- asl.w #4,D2
- move.b (A6)+,D2
- andi.w #15,D1
- addq.w #2,D1
- movea.l A5,A3
- suba.w D2,A3
- lbC000032:
- ; move.b (A3)+,(A5)+
- addq.l #1,a3
- addq.l #1,a5
- dbra D1,lbC000032
- bra.s lbC000012
- _ID_TSM
- btst.l #TSM,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'TSM!',DisplayID(a5)
- lea TSMText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'c',(a0)+
- move.b #'e',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_Taz
- btst.l #Taz,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Taz!',DisplayID(a5)
- lea TazText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'I',(a0)+
- move.b #'C',(a0)+
- move.b #'E',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_VDCO
- btst.l #VDCO,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #13,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'VDCO',DisplayID(a5)
- lea VDCOText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_VOL1
- btst.l #VOL1,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w GetLongWord
- beq.w _ID_Exit
- andi.l #$001fffff,d1
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'VOL1',DisplayID(a5)
- lea LOBText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_ViS1
- btst.l #ViS1,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ViS1',DisplayID(a5)
- lea ViS1Text(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_ViSL
- btst.l #ViSL,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'ViSL',DisplayID(a5)
- lea ViSLText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'2',(a0)
- moveq #1,d0
- rts
- _ID_Vic2
- btst.l #Vic2,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'Vic2',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_WJSD
- btst.l #WJSD,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #4,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'WJSD',DisplayID(a5)
- lea MasterText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'L',(a0)+
- move.b #'S',(a0)+
- move.b #'D',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
- _ID_XP10
- btst.l #XP10,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- lea 12(a2),a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #20,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'XP10',DisplayID(a5)
- lea Ace?Text(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_XPKF
- btst.l #XPKF,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #8,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- subq.l #8,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- addq.l #8,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'XPK ',DisplayID(a5)
-
- move.l a0,a2
- addq.l #8,a2
- bsr.w GetLongWord
- lea xpkID(pc),a1
- Comp:
- move.l (a1)+,d0
- cmp.l d0,d1
- beq.b Findxpk
- addq.l #4,a1
- tst.l (a1)
- beq.b NoFindxpk
- bra.b Comp
- Findxpk:
- move.l (a1),AboutPacker(a5)
- bra.b NoXpk
- NoFindxpk:
- lea XPKFText+3(pc),a1
- addq.l #8,a0
- move.b (a0)+,(a1)+
- move.b (a0)+,(a1)+
- move.b (a0)+,(a1)+
- move.b (a0),(a1)
- lea XPKFText(pc),a0
- move.l a0,AboutPacker(a5)
- NoXpk:
- moveq #1,d0
- rts
- _ID_XPKZ
- btst.l #XPKZ,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'XPKZ',DisplayID(a5)
- lea ViSLText(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'2',(a0)
- moveq #1,d0
- rts
- _ID_XX50
- btst.l #XX50,d6
- bne.w _ID_Exit
- move.l #'XX50',DisplayID(a5)
- move.b #'P',-4(a0)
- move.b #'P',-3(a0)
- move.b #'2',-2(a0)
- move.b #'0',-1(a0)
- bra.w _IDpp20
- _ID_xVdg
- btst.l #xVdg,d6
- bne.w _ID_Exit
- move.l a0,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- sub.l #12,d1
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #12,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'xVdg',DisplayID(a5)
- lea xVdgText(pc),a0
- move.l a0,AboutPacker(a5)
- moveq #1,d0
- rts
- _ID_xXxX
- btst.l #xXxX,d6
- bne.w _ID_Exit
- move.l a0,a2
- addq.l #2,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- move.l d1,OriginalSize(a5)
- addq.l #4,a2
- bsr.w TestFileSize
- beq.w _ID_Exit
- add.l #14,d1
- move.l d1,PackedSize(a5)
- subq.l #4,a0
- move.l a0,StartFileID(a5)
- move.l #'xXxX',DisplayID(a5)
- lea ViS1Text(pc),a2
- move.l a2,AboutPacker(a5)
- move.b #'C',(a0)+
- move.b #'r',(a0)+
- move.b #'M',(a0)+
- move.b #'!',(a0)
- moveq #1,d0
- rts
-
- ****************************************************************************
-
- TestFileSize:
- move.b (a2),d1
- lsl.l #8,d1
- move.b 1(a2),d1
- lsl.l #8,d1
- move.b 2(a2),d1
- lsl.l #8,d1
- move.b 3(a2),d1
- tst.l d1
- beq.b NoID
- move.l d1,-(a7)
- andi.l #$ffe00000,d1
- bne.b NoID_2
- move.l (a7)+,d1
- tst.l d1
- rts
- NoID_2
- addq.l #4,a7
- NoID
- moveq #0,d1
- tst.l d1
- rts
-
- GetLongWord:
- move.b (a2),d1
- lsl.l #8,d1
- move.b 1(a2),d1
- lsl.l #8,d1
- move.b 2(a2),d1
- lsl.l #8,d1
- move.b 3(a2),d1
- tst.l d1
- rts
-
- GetWord:
- moveq #0,d1
- move.b (a2),d1
- lsl.l #8,d1
- move.b 1(a2),d1
- rts
-
- ***************************************************************************
-
- Decrunch:
- ; tst.l RNC_old(a5)
- ; bne.w RNC_old_decrunch
-
- move.l XfdBase(a5),a6
- moveq #XFDOBJ_BUFFERINFO,d0
- jsr xfdAllocObject(a6)
- move.l d0,a4
- beq.w ErrorAlloc
-
- moveq #0,d0
- bset #XFDPFB_DATA,d0
- move.w d0,xfdbi_PackerFlags(a4)
- moveq #0,d0
- bset #XFDFB_RECOGEXTERN,d0
- move.w d0,xfdbi_Flags(a4)
- Pa
- move.l StartFileID(a5),xfdbi_SourceBuffer(a4)
- move.l PackedSize(a5),xfdbi_SourceBufLen(a4)
- tst.l PackedSize(a5)
- bne.b PackedOk
- move.l OriginalSize(a5),xfdbi_SourceBufLen(a4)
- PackedOk:
- move.l a4,a0
- move.l XfdBase(a5),a6
- jsr xfdRecogBuffer(a6)
- tst.l d0
- beq.b DecrunchError
-
- lea Decrunching(pc),a0
- bsr.w PrintStatus
-
- move.l #$10001,xfdbi_TargetBufMemType(a4)
- move.l a4,a0
- move.l XfdBase(a5),a6
- jsr xfdDecrunchBuffer(a6)
- tst.l d0
- beq.b DecrunchError
-
- move.l StartFileID(a5),-(a7)
- move.l xfdbi_TargetBuffer(a4),StartFileID(a5)
-
- move.l PackedSize(a5),-(a7)
- move.l xfdbi_TargetBufSaveLen(a4),PackedSize(a5)
-
- bsr.w SaveFile
-
- move.l (a7)+,PackedSize(a5)
- move.l (a7)+,StartFileID(a5)
-
- move.l xfdbi_TargetBufLen(a4),d0
- move.l xfdbi_TargetBuffer(a4),a1
- move.l Exec.w,a6
- jsr FreeMem(a6)
-
- clr.l DecrError(a5)
-
- QuitDecrunch:
- clr.l KeyVar
-
- move.l a4,a1
- move.l XfdBase(a5),a6
- jsr xfdFreeObject(a6)
-
- tst.l DecrVar(a5)
- bne.w ContSearch
-
- bra.w SOC
-
- DecrunchError:
- move.w xfdbi_Error(a4),d0
- jsr xfdGetErrorText(a6)
-
- lea StatusText(pc),a0
- lea StatusVar(pc),a1
- move.l d0,(a1)
- bsr.w Printf
-
- cmp.w #XFDERR_WRONGKEY,xfdbi_Error(A4)
- bne.w NotWrong
-
- move.l DisplayID(a5),d0
- and.l #$ffffff00,d0
- cmp.l #'RNC '-32,d0
- bne.w NotWrong
-
- tst.l KeyVar
- beq. Pa2
- More
- moveq #4,d0
- lea KeyBuffer(pc),a1
- lea KeyTitle(pc),a2
- sub.l a3,a3
- lea KeyTags(pc),a0
- move.l ReqBase(a5),a6
- jsr rtGetStringA(a6)
- tst.l d0
- beq.w NotWrong
-
- lea KeyBuffer(pc),a0
-
- moveq #3,d0
- Lops
- cmp.b #'0',(a0)
- bcs.b More
- cmp.b #'9',(a0)
- bhi.b Anoth
- bra.b NextChar
- Anoth
- cmp.b #'A',(a0)
- bcs.b More
- cmp.b #'F',(a0)
- bhi.b Anoth2
- bra.b NextChar
- Anoth2
- cmp.b #'a',(a0)
- bcs.b More
- cmp.b #'f',(a0)
- bhi.b More
- NextChar
- addq.l #1,a0
- dbf d0,Lops
-
- lea KeyBuffer(pc),a0
- moveq #3,d3
- moveq #0,d4
- Lops2
- lea KeyTable(pc),a1
- lea KeySub(pc),a2
- moveq #0,d0
- moveq #0,d1
- moveq #0,d2
- move.b (a0)+,d0
- CompChar
- move.b (a1)+,d1
- addq.w #1,d2
- cmp.b d0,d1
- bne.b CompChar
- subq.w #1,d2
- sub.b (a2,d2.w),d0
- rol.w #4,d4
- or.b d0,d4
- dbf d3,Lops2
-
- lea KeyRaw(pc),a0
- move.w d4,(a0)
-
- Pa2
- st KeyVar
-
- moveq #0,d0
- bset #XFDPFB_KEY16,d0
- move.w d0,xfdbi_PackerFlags(A4)
- lea KeyRaw(pc),a0
- move.l A0,xfdbi_Special(A4)
- bra.w Pa
-
- NotWrong
- tst.l DecrVar(a5)
- beq.w QuitDecrunch
-
- addq.l #1,DecrError(a5)
-
- bra.w QuitDecrunch
-
- ErrorAlloc:
- lea ErrorAllocBufInfo(pc),a0
- bsr.w PrintStatus
-
- tst.l DecrVar(a5)
- bne.w ContSearch
-
- bra.w SOC
-
- StatusVar:
- dc.l 0
- KeyVar
- dc.l 0
- KeyRaw
- dc.w 0 ;$1984
- KeyBuffer
- dc.b '1984',0,0
- KeyTags:
- dc.l RT_Window
- WindowCont2:
- dc.l 0
- dc.l RT_ReqPos,REQPOS_CENTERWIN
- dc.l RT_WaitPointer,1
- dc.l RT_Underscore,'_'
- dc.l RT_LockWindow,1
- dc.l RTGS_TextFmt,KeyText
- dc.l 0
- KeyText
- dc.b 'Min: 0000, Max: FFFF',0
- KeyTitle
- dc.b 'Enter a 16 bit key:',0
- KeyTable
- dc.b '0123456789ABCDEFabcdef',0
- KeySub
- dc.b '0000000000','A'-10,'A'-10,'A'-10,'A'-10,'A'-10,'A'-10,'a'-10,'a'-10,'a'-10,'a'-10,'a'-10,'a'-10
-
- CNOP 0,2
-
- ;RNC_old_decrunch
- ; move.l OriginalSize(a5),d0
- ; move.l #$10001,d1 ;Public i Clear
- ; move.l Exec.w,a6
- ; jsr AllocMem(a6)
- ; move.l d0,BufOldRNC(A5)
- ; beq.w ErrorAlloc
-
- ; lea Decrunching(pc),a0
- ; bsr.w PrintStatus
-
- ; bsr.w DecrOldRNC
- ; tst.l d0
- ; beq.w RNCOldOk
-
- ; move.w #XFDERR_CORRUPTEDDATA,d0
- ; move.l XfdBase(a5),a6
- ; jsr xfdGetErrorText(a6)
-
- ; lea StatusText(pc),a0
- ; lea StatusVar(pc),a1
- ; move.l d0,(a1)
- ; bsr.w Printf
-
- ; addq.l #1,DecrError(a5)
-
- ; bra.b FreeRNCOld
-
- ;RNCOldOk
- ; move.l StartFileID(a5),-(a7)
- ; move.l BufOldRNC(a5),StartFileID(a5)
-
- ; move.l PackedSize(a5),-(a7)
- ; move.l OriginalSize(a5),PackedSize(a5)
-
- ; bsr.w SaveFile
-
- ; move.l (a7)+,PackedSize(a5)
- ; move.l (a7)+,StartFileID(a5)
-
- ; clr.l DecrError(a5)
-
- ;FreeRNCOld
- ; move.l OriginalSize(a5),d0
- ; move.l BufOldRNC(a5),a1
- ; move.l Exec.w,a6
- ; jsr FreeMem(a6)
-
- ; tst.l DecrVar(a5)
- ; bne.w ContSearch
-
- ; bra.w SOC
-
- ;DecrOldRNC
- ; move.l StartFileID(a5),a0
- ; move.l BufOldRNC(A5),a1
-
- ; cmp.b #02,3(a0)
- ; beq.w RNC2_old
-
- ;RNC1_old
- ; movem.l D1-D7/A0-A6,-(SP)
-
- ; move.l A7,A4
-
- ; bsr.s lbC000060
- ; cmp.l #$524E4301,D0
- ; bne.w ErrorRNC1Old
-
- ; bsr.s lbC000060
- ; lea (A1,D0.L),A3
-
- ; bsr.s lbC000060
- ; lea (A0,D0.L),A6
-
- ; move.b -(A6),D3
- ;lbC000028:
- ; bsr.s lbC00006C
- ; addq.w #1,D5
-
- ; cmp.l A0,A6
- ; bcs.w ErrorRNC1Old
- ; beq.w RNC1OldEnd
-
- ; bsr.w lbC0000C2
- ; bsr.w lbC0000F6
- ; subq.w #1,D6
-
- ; lea 0(A3,D7.W),A2
- ; ext.l D6
- ; adda.w D6,A2
- ; tst.w D7
- ; bne.s lbC00004A
- ; lea 1(A3),A2
- ;lbC00004A:
- ; cmp.l A1,A2
- ; bls.w ErrorRNC1Old
- ; cmp.l A1,A3
- ; bls.w ErrorRNC1Old
-
- ; move.b -(A2),-(A3)
-
- ; dbra D6,lbC00004A
- ; bra.s lbC000028
-
- ;lbC000060:
- ; moveq #3,D1
- ;lbC000062:
- ; lsl.l #8,D0
- ; move.b (A0)+,D0
- ; dbra D1,lbC000062
- ; rts
-
- ;lbC00006C:
- ; moveq #-1,D5
- ; bsr.s lbC0000B8
- ; bcc.s lbC0000AE
- ; moveq #0,D5
- ; bsr.s lbC0000B8
- ; bcc.s lbC0000A4
- ; moveq #3,D1
- ;lbC00007A:
- ; clr.w D5
- ; move.b lbB0000B0(PC,D1.W),D0
- ; ext.w D0
- ; moveq #-1,D2
- ; lsl.w D0,D2
- ; not.w D2
- ; subq.w #1,D0
- ;lbC00008A:
- ; bsr.s lbC0000B8
- ; roxl.w #1,D5
- ; dbra D0,lbC00008A
- ; tst.w D1
- ; beq.s lbC00009C
- ; cmp.w D5,D2
- ; dbne D1,lbC00007A
- ;lbC00009C:
- ; move.b lbB0000B4(PC,D1.W),D0
- ; ext.w D0
- ; add.w D0,D5
- ;lbC0000A4:
- ; move.w D5,-(SP)
- ;lbC0000A6:
- ; cmp.l A0,A6
- ; bls.w ErrorRNC1Old
- ; cmp.l A1,A3
- ; bls.w ErrorRNC1Old
-
- ; move.b -(A6),-(A3)
- ; dbra D5,lbC0000A6
- ; move.w (SP)+,D5
- ;lbC0000AE:
- ; rts
-
- ;lbB0000B0:
- ; dc.b 10
- ; dc.b 3
- ; dc.b 2
- ; dc.b 2
- ;lbB0000B4:
- ; dc.b 14
- ; dc.b 7
- ; dc.b 4
- ; dc.b 1
-
- ;lbC0000B8:
- ; lsl.b #1,D3
- ; bne.s lbC0000C0
-
- ; cmp.l A0,A6
- ; bls.w ErrorRNC1Old
-
- ; move.b -(A6),D3
- ; roxl.b #1,D3
- ;lbC0000C0:
- ; rts
-
- ;lbC0000C2:
- ; moveq #3,D0
- ;lbC0000C4:
- ; bsr.s lbC0000B8
- ; bcc.s lbC0000CC
- ; dbra D0,lbC0000C4
- ;lbC0000CC:
- ; clr.w D6
- ; addq.w #1,D0
- ; move.b lbB0000EC(PC,D0.W),D1
- ; beq.s lbC0000E2
- ; ext.w D1
- ; subq.w #1,D1
- ;lbC0000DA:
- ; bsr.s lbC0000B8
- ; roxl.w #1,D6
- ; dbra D1,lbC0000DA
- ;lbC0000E2:
- ; move.b lbB0000F1(PC,D0.W),D1
- ; ext.w D1
- ; add.w D1,D6
- ; rts
-
- ;lbB0000EC:
- ; dc.b 10
- ; dc.b 2
- ; dc.b 1
- ; dc.b 0
- ; dc.b 0
- ;lbB0000F1:
- ; dc.b 10
- ; dc.b 6
- ; dc.b 4
- ; dc.b 3
- ; dc.b 2
-
- ;lbC0000F6:
- ; moveq #0,D7
- ; cmp.w #2,D6
- ; beq.s lbC000120
- ; moveq #1,D0
- ;lbC000100:
- ; bsr.s lbC0000B8
- ; bcc.s lbC000108
- ; dbra D0,lbC000100
- ;lbC000108:
- ; addq.w #1,D0
- ; move.b lbB000138(PC,D0.W),D1
- ; ext.w D1
- ;lbC000110:
- ; bsr.s lbC0000B8
- ; roxl.w #1,D7
- ; dbra D1,lbC000110
- ; lsl.w #1,D0
- ; add.w lbB00013C(PC,D0.W),D7
- ; rts
-
- ;lbC000120:
- ; moveq #5,D0
- ; clr.w D1
- ; bsr.s lbC0000B8
- ; bcc.s lbC00012C
- ; moveq #8,D0
- ; moveq #$40,D1
- ;lbC00012C:
- ; bsr.s lbC0000B8
- ; roxl.w #1,D7
- ; dbra D0,lbC00012C
- ; add.w D1,D7
- ; rts
-
- ;lbB000138:
- ; dc.b 11
- ; dc.b 4
- ; dc.b 7
- ; dc.b 0
- ;lbB00013C:
- ; dc.b 1
- ; dc.b $20
- ; dc.b 0
- ; dc.b 0
- ; dc.b 0
- ; dc.b $20
- ; dc.b 0
- ; dc.b 0
-
- ;RNC1OldEnd
- ; moveq #0,D0
- ; bra.b lbC000158
-
- ;ErrorRNC1Old
- ; move.l A4,A7
- ; moveq #-1,D0
- ;lbC000158:
- ; movem.l (SP)+,D1-D7/A0-A6
- ; rts
-
- ;RNC2_old
- ; movem.l D1-D7/A0-A6,-(SP)
-
- ; move.l A7,A4
-
- ; bsr.w lbC00025A
- ; cmp.l #$524E4302,D1
- ; bne.w ErrorRNC2Old
-
- ; bsr.w lbC00025A
- ; lea (A1,D1.L),A3
-
- ; bsr.w lbC00025A
- ; lea (A0,D1.L),A6
-
- ; lea lbB000250(PC),A5
- ; move.b -(A6),D4
- ; andi.w #15,D4
- ; move.b D4,(A5)
- ; move.b (A6),D4
- ; lsr.b #4,D4
- ; move.b D4,-8(A5)
-
- ; move.b -(A6),D3
- ;lbC00019E:
- ; bsr.s lbC000206
- ; bcc.s lbC0001C6
- ; moveq #0,D6
- ; bsr.s lbC000206
- ; bcc.s lbC0001C0
- ; moveq #1,D2
- ; moveq #0,D5
- ; moveq #1,D6
- ; bra.s lbC0001B6
-
- ;lbC0001B0:
- ; add.w D2,D2
- ; addq.w #1,D2
- ; addq.w #1,D5
- ;lbC0001B6:
- ; move.w D5,D0
- ; bsr.s lbC000210
- ; add.w D7,D6
- ; cmp.w D2,D7
- ; bge.s lbC0001B0
- ;lbC0001C0:
-
- ; cmp.l A0,A6
- ; bls.w ErrorRNC2Old
- ; cmp.l A1,A3
- ; bls.w ErrorRNC2Old
-
- ; move.b -(A6),-(A3)
- ; dbra D6,lbC0001C0
- ;lbC0001C6:
-
- ; cmp.l A0,A6
- ; bcs.w ErrorRNC2Old
- ; beq.w RNC2OldEnd
-
- ; moveq #1,D6
- ; bsr.s lbC000206
- ; bcc.s lbC000226
- ; moveq #2,D1
- ;lbC0001D2:
- ; bsr.s lbC000206
- ; dbcc D1,lbC0001D2
- ; move.b -7(A5,D1.W),D0
- ; bmi.s lbC0001E2
- ; bsr.s lbC000210
- ; move.w D7,D6
- ;lbC0001E2:
- ; move.b -3(A5,D1.W),D0
- ; ext.w D0
- ; add.w D0,D6
- ; moveq #1,D1
- ;lbC0001EC:
- ; bsr.s lbC000206
- ; dbcc D1,lbC0001EC
- ; move.b 1(A5,D1.W),D0
- ; bsr.s lbC000210
- ; add.w D1,D1
- ; add.w 6(A5,D1.W),D7
- ; bne.s lbC000238
- ;lbC000200:
-
- ; lea 1(A3),A2
-
- ; bra.s lbC00023E
-
- ;lbC000206:
- ; add.b D3,D3
- ; bne.s lbC00020E
-
- ; cmp.l A0,A6
- ; bls.b ErrorRNC2Old
-
- ; move.b -(A6),D3
- ; addx.b D3,D3
- ;lbC00020E:
- ; rts
-
- ;lbC000210:
- ; ext.w D0
- ; moveq #0,D7
- ;lbC000214:
- ; add.b D3,D3
- ; bne.s lbC00021C
-
- ; cmp.l A0,A6
- ; bls.b ErrorRNC2Old
-
- ; move.b -(A6),D3
- ; addx.b D3,D3
- ;lbC00021C:
- ; addx.w D7,D7
- ; dbra D0,lbC000214
- ; rts
-
- ;lbC000226:
- ; moveq #5,D0
- ; moveq #0,D1
- ; bsr.s lbC000206
- ; bcc.s lbC000232
- ; moveq #8,D0
- ; moveq #$40,D1
- ;lbC000232:
- ; bsr.s lbC000210
- ; add.w D1,D7
- ; beq.s lbC000200
- ;lbC000238:
- ; add.w D6,D7
-
- ; lea 0(A3,D7.W),A2
-
- ;lbC00023E:
-
- ; cmp.l A1,A2
- ; bls.b ErrorRNC2Old
- ; cmp.l A1,A3
- ; bls.b ErrorRNC2Old
- ; move.b -(A2),-(A3)
-
- ; dbra D6,lbC00023E
- ; bra.w lbC00019E
-
- ; dc.b 9
- ; dc.b 1
- ; dc.b 0
- ; dc.b $FF
- ; dc.b 9
- ; dc.b 5
- ; dc.b 3
- ; dc.b 1
- ;lbB000250:
- ; dc.b 11
- ; dc.b 4
- ; dc.b 7
- ; dc.b 0
- ; dc.b 1
- ; dc.b $20
- ; dc.b 0
- ; dc.b 0
- ; dc.b 0
- ; dc.b $20
-
- ;lbC00025A:
- ; moveq #3,D2
- ;lbC00025C:
- ; lsl.l #8,D1
- ; move.b (A0)+,D1
- ; dbra D2,lbC00025C
- ; rts
-
- ;RNC2OldEnd
- ; moveq #0,D0
- ; bra.b lbC000280
-
- ;ErrorRNC2Old
- ; move.l A4,A7
- ; moveq #-1,D0
- ;lbC000280:
- ; movem.l (SP)+,D1-D7/A0-A6
- ; rts
-
- ***************************************************************************
-
- PrintID:
- movem.l d0-a6,-(a7)
-
- lea Arguments+4(pc),a0
- move.l OriginalSize(a5),(a0)+
- move.l PackedSize(a5),(a0)+
- move.l AboutPacker(a5),(a0)
-
- lea FilesID(pc),a0
- move.l DisplayID(a5),(a0)
-
- tst.l PackedSize(a5)
- beq.b Zero
-
- lea FoundIDText(pc),a0
- lea Arguments(pc),a1
- bsr.w Printf
-
- ZeroCont:
- move.l StartFileID(a5),EndFile(a5)
- move.l PackedSize(a5),d0
- tst.l PackedSize(a5)
- bne.b .NoZero
- move.l OriginalSize(a5),d0
- .NoZero
- add.l d0,EndFile(a5)
-
- lea FileInMem(pc),a0
- lea StartFileID(a5),a1
- bsr.w Printf
-
- lea BufferInMem(pc),a0
- lea AllocStart(a5),a1
- bsr.w Printf
-
- movem.l (a7)+,d0-a6
- rts
-
- Zero:
- lea FoundIDTextZero(pc),a0
- lea Arguments(pc),a1
- bsr.w Printf
-
- bra.b ZeroCont
-
- ***************************************************************************
-
- SaveOrCont:
- bsr.w WorkPointer
-
- tst.l PackedSize(a5)
- beq.b ZeroInfo
-
- lea SaveOrContText(pc),a1
- lea SaveOrContGad(pc),a2
- sub.l a3,a3
- lea Arguments(pc),a4
- lea SaveOrContTags(pc),a0
- move.l ReqBase(a5),a6
- jsr rtEZRequestA(a6)
-
- bsr.w WaitPointer
- rts
-
- ZeroInfo:
- lea Unknown(pc),a0
- lea Arguments(pc),a4
- move.l a0,8(a4)
-
- lea UnknownText(pc),a1
- lea SaveOrContGad(pc),a2
- sub.l a3,a3
- lea SaveOrContTags(pc),a0
- move.l ReqBase(a5),a6
- jsr rtEZRequestA(a6)
-
- bsr.w WaitPointer
- rts
-
- SaveOrContTags:
- dc.l RT_Window
- WindowCont:
- dc.l 0
- dc.l RT_ReqPos,REQPOS_CENTERWIN
- dc.l RT_WaitPointer,1
- dc.l RT_Underscore,'_'
- dc.l RT_LockWindow,1
- dc.l RTEZ_ReqTitle,InfoGad
- dc.l 0
-
- Arguments:
- dc.l FilesID
- dc.l 0
- dc.l 0
- dc.l 0
- FilesID:
- dc.l 0
- dc.b 0
-
- SaveOrContText:
- dc.b 'File ID : %s',10
- dc.b 'File original length : %ld bytes',10
- dc.b 'File packed length : %ld bytes',10
- dc.b 'Comment about packer : %s',0
-
- SaveOrContGad:
- dc.b '_Save file|_Decrunch & save|_Abort|_Continue',0
-
- InfoGad:
- dc.b 'Information',0
-
- UnknownText:
- dc.b 'File ID : %s',10
- dc.b 'File original length : %ld bytes',10
- dc.b 'File packed length : %s',10
- dc.b 'Comment about packer : %s',0
-
- Unknown:
- dc.b 'unknown',0
-
- ; MSS game Ran Trainer
- ; CMP1 game ?
- ; PAKO game Project Battlefield
- ; SAND game Project Battlefield
- ; LOB game Chambers of Shaolin ( #$C350 )
- ; game Last Ninja Remix ( #$5000 )
- ; game Stone Age ( #$BB8 )
- ; game Amberstar ( #$??? )
- ; game Ambermoon ( #$400 i #$800 )
- ; game Wings Of Death ( #$9C4 )
- ; AXIS demo Big Time Sensuality
- ; Graftgold game Empire Soccer
- ; FUCK game 9 lives
- ; JEK! (end of file) game Seven Gates Of Jambala
- ; HUFF game Last Ninja II
- ; MARC (end of file) game Flimbo's Quest,Venom
- ; CHFI game Bubble & Squeak (AudioGenic)
- ; game Dizzy (IMP!)
- ; CHFC Code Masters (PP20)
- ; PAC1 game Gulp (RNC1)
- ; LR88 game Jungle Strike
- ; Z&G! (S404)? Zulu and Grey Packer
- ; $b6b2afcb demo Sequential - Andromeda
-
- CrunchManiaText:
- dc.b 'Crunch Mania',10,'by Thomas Schwarz',0
- PaCKText:
- dc.b '???',10,'by WANTON - Crunch Mania clone - CrM!',0
- ViS1Text:
- dc.b '???',10,'by ??? - Crunch Mania clone - CrM!',0
- ViSLText:
- dc.b '???',10,'by ??? - Crunch Mania clone - CrM2',0
- RNCText:
- dc.b 'Pro Pack V2.??',10,'by Rob Northen',0
- ;dc.b 'Nick Pelling',0
- RNCOldText:
- dc.b 'Pro Pack Old',10,'by Rob Northen',0
- RNCFakeText:
- dc.b '???',10,'by ??? - Pro Pack clone - RNC1',0
- ATNText:
- dc.b '???',10,'by Stefan Boberg - FImp clone - IMP!',0
- SBText:
- dc.b 'LhA 3.0 converter',10,'by Stefan Boberg',0
- IMPText:
- dc.b 'File Imploder',10,'by Albert Jan Brouwer',0
- DupaText:
- dc.b '???',10,'by ??? - FImp clone - IMP!',0
- StoneText:
- dc.b 'Stone Cracker',10,'by Jouni Korhonen',0
- ArcDText:
- dc.b '???',10,'by Max Brown and Bill Duncan',0
- Text89A8:
- dc.b 'Stone Cracker 2.99',10,'by Jouni Korhonen',0
- XPKFText:
- dc.b 'xpk????.library',10,'by ???',0
- xVdgText:
- dc.b 'AMOS Compiler',10,'by Fran',$e7,'ois Lionet - Byte Killer fake',0
- Ace?Text:
- dc.b '???',10,'by ???',0
- IAMText:
- dc.b 'IAM Packer',10,'by Ken of Analog',0
- LOBText:
- dc.b 'Thalion Packer',10,'by Lothar Becks',0
- MagnText:
- dc.b 'Magnetic Fields Cruncher',10,'by Magnetic Fields',0
- TITSText:
- dc.b '???',10,'by ??? - Power Packer fake - PP20',0
- GraftGoldText:
- dc.b 'GraftGold Cruncher',10,'by ???',0
- PMCText:
- dc.b 'Power Player Music Cruncher',10,'by Stephan Fuhrmann',0
- VDCOText:
- dc.b 'Virtual Dreams Cruncher',10,'by Virtual Dreams',0
- ALC0Text:
- dc.b 'Alcatraz Cruncher',10,'by Alcatraz',0
- GP11Text:
- dc.b 'Gnu Packer',10,'by Tax of Gnu Design (Thomas Neumann)',0
- StoneFakeText:
- dc.b '???',10,'by ??? - Stone Cracker clone - S404',0
- Stone2FakeText:
- dc.b '???',10,'by ??? - Stone Cracker clone - S401',0
- Stone3FakeText:
- dc.b '???',10,'by ??? - Stone Cracker clone - S300',0
- PowerPackerText:
- dc.b 'Power Packer',10,'by Nico Fran',$e7,'ois',0
- BondText:
- dc.b 'Bond Cruncher',10,'by A.R.Bond',0
- TSMText:
- dc.b '???',10,'by ??? - Ice! fake',0
- TazText:
- dc.b '???',10,'by ??? - ICE! fake',0
- LZWHText:
- dc.b '???',10,'by ??? - LZWH fake',0
- MasterText:
- dc.b '???',10,'by ??? - Master Cruncher 3.0 clone',0
- Master3Text:
- dc.b 'Master Cruncher 3.0',10,'by Robert Frahm & Michael Cremer',0
- ByteKillerText
- dc.b '???',10,'by ??? - Byte Killer clone',0
- TurtleSmasher2
- dc.b 'Found file ID: T.S 2.00 - Turtle Smasher 2.00 data',0
- BHC3Text
- dc.b 'Blue House Cruncher',10,'by Nicholas Clarke',0
- TPWMText
- dc.b 'Turbo Packer',10,'by Wolfgang Mayerle',0
- CNOP 0,2
-
- xpkID:
- dc.l 'ACCA'
- dc.l ACCAText
-
- dc.l 'BLZW'
- dc.l BLZWText
-
- dc.l 'CBR0'
- dc.l CBR0Text
-
- dc.l 'CRM2'
- dc.l CRM2Text
-
- dc.l 'CRMS'
- dc.l CRMSText
-
- dc.l 'DLTA'
- dc.l DLTAText
-
- dc.l 'ELZX'
- dc.l ELZXText
-
- dc.l 'ENCO'
- dc.l ENCOText
-
- dc.l 'FAST'
- dc.l FASTText
-
- dc.l 'FEAL'
- dc.l FEALText
-
- dc.l 'GZIP'
- dc.l GZIPText
-
- dc.l 'HFMN'
- dc.l HFMNText
-
- dc.l 'HUFF'
- dc.l HUFFText
-
- dc.l 'IDEA'
- dc.l IDEAText
-
- dc.l 'ILZR'
- dc.l ILZRText
-
- dc.l 'IMPL'
- dc.l IMPLText
-
- dc.l 'LZCB'
- dc.l LZCBText
-
- dc.l 'MASH'
- dc.l MASHText
-
- dc.l 'NONE'
- dc.l NONEText
-
- dc.l 'NUKE'
- dc.l NUKEText
-
- dc.l 'PPMQ'
- dc.l PPMQText
-
- dc.l 'PWPK'
- dc.l PWPKText
-
- dc.l 'RAKE'
- dc.l RAKEText
-
- dc.l 'RDCN'
- dc.l RDCNText
-
- dc.l 'RLEN'
- dc.l RLENText
-
- dc.l 'SHRI'
- dc.l SHRIText
-
- dc.l 'SLZX'
- dc.l SLZXText
-
- dc.l 'SMPL'
- dc.l SMPLText
-
- dc.l 'SQSH'
- dc.l SQSHText
-
- dc.l 0
-
- ACCAText
- dc.b 'xpkACCA.library',10,'by Andr',$e9,' Osterhues',0
- BLZWText:
- dc.b 'xpkBLZW.library',10,'by Bryan Ford',0
- CBR0Text:
- dc.b 'xpkCBR0.library',10,'by Bilbo of Hypenosis',0
- CRM2Text:
- dc.b 'xpkCRM2.library',10,'by Thomas Schwarz',0
- CRMSText:
- dc.b 'xpkCRMS.library',10,'by Thomas Schwarz',0
- DLTAText:
- dc.b 'xpkDLTA.library',10,'by Stephan Fuhrmann',0
- ELZXText:
- dc.b 'xpkELZX.library',10,'by Adam Przybyla and Piotr Kasprzyk',0
- ENCOText:
- dc.b 'xpkENCO.library',10,'by Urban Dominik M',$fc,'ller',0
- FASTText:
- dc.b 'xpkFAST.library',10,'by Christian von Roques',0
- FEALText:
- dc.b 'xpkFEAL.library',10,'by Christian von Roques',0
- GZIPText:
- dc.b 'xpkGZIP.library',10,'by Antonio Schifano',0
- HFMNText:
- dc.b 'xpkHFMN.library',10,'by Martin Hauner',0
- HUFFText:
- dc.b 'xpkHUFF.library',10,'by Marc Zimmermann',0
- IDEAText:
- dc.b 'xpkIDEA.library',10,'by Andr',$e9,' Beck',0
- ILZRText:
- dc.b 'xpkILZR.library',10,'by Jose Renau',0
- IMPLText:
- dc.b 'xpkIMPL.library',10,'by Peter Struijk',0
- LZCBText:
- dc.b 'xpkLZCB.library',10,'by Charles Bloom',0
- MASHText:
- dc.b 'xpkMASH.library',10,'by Zdenek Kabelac',0
- NONEText:
- dc.b 'xpkNONE.library',10,'by Urban Dominik M',$fc,'ller',0
- NUKEText:
- dc.b 'xpkNUKE.library',10,'by Urban Dominik M',$fc,'ller',0
- PPMQText:
- dc.b 'xpkPPMQ.library',10,'by Charles Bloom',0
- PWPKText:
- dc.b 'xpkPWPK.library',10,'by Michael J. Barsoom',0
- RAKEText:
- dc.b 'xpkRAKE.library',10,'by Karsten Dagef',$f6,'rde',0
- RDCNText:
- dc.b 'xpkRDCN.library',10,'by Daniel Frey',0
- RLENText:
- dc.b 'xpkRLEN.library',10,'by Urban Dominik M',$fc,'ller',0
- SHRIText:
- dc.b 'xpkSHRI.library',10,'by Matthias Meixner',0
- SLZXText:
- dc.b 'xpkSLZX.library',10,'by Adam Przybyla and Piotr Kasprzyk',0
- SMPLText:
- dc.b 'xpkSMPL.library',10,'by Jorma Oksanen',0
- SQSHText:
- dc.b 'xpkSQSH.library',10,'by John Hendrikx',0
-
- CNOP 0,2
-
- ***************************************************************************
-
- Fill:
- movem.l d0/d3-d7/a0-a1,-(a7)
-
- move.l a0,d2
-
- move.l AllocStart(a5),d0
- move.l AllocEnd(a5),d1
- sub.l d0,d1
- sub.l d0,d2
- rol.l #4,d1
- rol.l #4,d2
- clr.w d1
- clr.w d2
- swap d1
- swap d2
- tst.l d1
- beq.b NoDiv
-
- mulu.w #618,d2
- divu.w d1,d2
-
- moveq #3,d0
- bsr.w Pen
-
- move.w #11,d0
- move.w #68,d1
- addi.w #10,d2
- move.w #72,d3
- move.l Windows(a5),a1
- move.l WindowRastPort(a1),a1
- move.l GrfxBase(a5),a6
- jsr RectFill(a6)
-
- move.l Windows(a5),a0
- move.l IDCMP(a0),a0
- move.l GadBase(a5),a6
- jsr GT_GetIMsg(a6)
-
- tst.l d0
- beq.b NoDiv
-
- move.l d0,a1
- move.l $14(a1),d5
- move.w $18(a1),d6
- jsr GT_ReplyIMsg(a6)
-
- cmpi.l #IDCMP_NEWSIZE,d5
- beq.b NewSize2
-
- cmpi.w #MENUDOWN,d6
- beq.b NoDiv3
-
- cmpi.l #IDCMP_VANILLAKEY,d5
- bne.b NoDiv
-
- cmpi.w #27,d6
- bne.b NoDiv
- NoDiv3:
- moveq #1,d1
- bra.b NoDiv2
-
- NoDiv:
- moveq #0,d1
- NoDiv2:
- movem.l (a7)+,d0/d3-d7/a0-a1
- rts
-
- NewSize2:
- bsr.w Size2
- bra.b NoDiv
-
- ***************************************************************************
-
- FillZero:
- movem.l d0-a6,-(a7)
-
- bsr.w Pen
-
- move.w #11,d0
- move.w #68,d1
- move.w #629,d2
- move.w #72,d3
- move.l Windows(a5),a1
- move.l WindowRastPort(a1),a1
- move.l GrfxBase(a5),a6
- jsr RectFill(a6)
-
- movem.l (a7)+,d0-a6
- rts
-
- ***************************************************************************
-
- LoadFile:
- bsr.b Load
- bsr.w WorkPointer
- bra.w Main
-
- Load:
- tst.l FileList(a5)
- beq.b NotFree
-
- move.l FileList(a5),a0
- move.l ReqBase(a5),a6
- jsr rtFreeFileList(a6)
-
- clr.l FileList(a5)
-
- NotFree:
- lea TagsLoad(pc),a0
- move.l FileReqL(a5),a1
- lea FileNameL(pc),a2
- lea FileReqNameLoad(pc),a3
- move.l ReqBase(a5),a6
- jsr rtFileRequestA(a6)
-
- tst.l d0
- beq.w FileNotSelected
-
- move.l d0,FileList(a5)
- move.l d0,FileListReq(a5)
-
- move.l d0,a0
- move.l (a0),FileListAdd(a5)
-
- bsr.w WaitPointer
-
- move.l FileList(a5),a0
- move.l 8(a0),a0
-
- LoadIt:
- lea FullNameL(pc),a1
- move.l FileReqL(a5),a2
- move.l $10(a2),a2
- tst.b (a2)
- beq.b Petla2
- Petla:
- move.b (a2)+,(a1)+
- bne.b Petla
- subq.l #2,a1
- move.b (a1)+,d0
- cmp.b #':',d0
- beq.s Petla2
- move.b #'/',(a1)+
- Petla2:
- move.b (a0)+,(a1)+
- bne.b Petla2
- move.b #0,(a1)+
-
- clr.l DiskVar(a5)
-
- bsr.w FreeMemory
-
- lea LoadingFile(pc),a0
- lea FileL(pc),a1
- bsr.w Printf
-
- lea FullNameL(pc),a0
- move.l a0,d1
- move.l #1005,d2
- move.l DosBase(a5),a6
- jsr Open(a6)
-
- tst.l d0
- beq.w ErrorOpenFile
- move.l d0,FileHandles(a5)
-
- lea FullNameL(pc),a0
- move.l a0,d1
- moveq #-2,d2
- jsr Lock(a6)
-
- tst.l d0
- beq.w ErrorLockFile
- move.l d0,LockZap(a5)
-
- move.l d0,d1
- lea Bufor,a0
- move.l a0,d2
- jsr Examine(a6)
-
- move.l LockZap(a5),d1
- jsr UnLock(a6)
-
- ;allokacja pamieci
-
- lea Bufor(pc),a0
- move.l 124(a0),d0
-
- tst.l d0
- beq.w NoLoad
-
- lea 124(a0),a1
- lea BufferSize(pc),a0
- bsr.w Printf
-
- bsr.w AllocMemory
-
- tst.l d0
- beq.w ErrorAllocMemory
-
- move.l FileHandles(a5),d1
- move.l AllocStart(a5),d2
- move.l AllocLength(a5),d3
- move.l DosBase(a5),a6
- jsr Read(a6)
-
- ErrorLockFile
- move.l FileHandles(a5),d1
- jsr Close(a6)
-
- ErrorOpenFile
- bsr.w IOError
- bne.w ErrorFile
-
- lea LoadOk(pc),a0
- bsr.w PrintStatus
-
- cmp.l #901120,AllocLength(a5)
- bne.b NotDiskFile
-
- move.l #1,DiskVar(a5)
- NotDiskFile
- bra.b GOGO
-
- ErrorFile
- bsr.w FreeMemory
- GOGO
- move.l FileListReq(a5),a0
- move.l (a0),FileListReq(a5)
- move.l 8(a0),a0
- lea FileNameS(pc),a1
- CopyName:
- move.b (a0)+,(a1)+
- bne.b CopyName
-
- tst.l DiskVar(a5)
- beq.b NotConvert2
-
- tst.l FormatNum(a5)
- beq.b NotConvert2
-
- bsr.w Converter
- NotConvert2
- rts
-
- IOError
- move.l DosBase(a5),a6
- jsr IoErr(a6)
- tst.l d0
- beq.b NotError
-
- move.l d0,d1
- lea Header(pc),a0
- move.l a0,d2
- lea PutChData(pc),a0
- move.l a0,d3
- moveq #100,d4
- jsr Fault(a6)
-
- lea PutChData(pc),a0
- bsr.w PrintStatus
- moveq #1,d0
- NotError
- tst.l d0
- rts
-
- ***************************************************************************
-
- SaveFile:
- cmpi.l #'DOS ',DisplayID(a5)
- beq.b ContSave0
-
- tst.l SetNameZero(a5)
- bne.b ContSave
- ContSave0:
- bsr.w WorkPointer
-
- lea TagsSave(pc),a0
- move.l FileReqS(a5),a1
- lea FileNameS(pc),a2
- lea FileReqNameSave(pc),a3
- move.l ReqBase(a5),a6
- jsr rtFileRequestA(a6)
-
- tst.l d0
- beq.w FileNotSelected
-
- tst.l IncVar(a5)
- beq.b ContSave2
-
- ContSave:
- cmpi.l #'DOS ',DisplayID(a5)
- beq.b ContSave2
-
- tst.l DecrError(a5)
- beq.b .Once
- move.l DecrError(a5),d1
- bra.b .Loop
- .Once
- moveq #0,d1
- .Loop
- bsr.w NameZero
- dbf d1,.Loop
-
- ContSave2:
- bsr.w WaitPointer
-
- lea FileNameS(pc),a0
- lea FullNameS(pc),a1
- move.l FileReqS(a5),a2
- move.l $10(a2),a2
- tst.b (a2)
- beq.b Petla4
- Petla3:
- move.b (a2)+,(a1)+
- bne.b Petla3
- subq.l #2,a1
- move.b (a1)+,d0
- cmp.b #':',d0
- beq.s Petla4
- move.b #'/',(a1)+
- Petla4:
- move.b (a0)+,(a1)+
- bne.b Petla4
- move.b #0,(a1)+
-
- lea SavingFile(pc),a0
- lea FileS(pc),a1
- bsr.w Printf
-
- lea FullNameS(pc),a0
- move.l a0,d1
- move.l #1006,d2
- move.l DosBase(a5),a6
- jsr Open(a6)
-
- tst.l d0
- beq.w ErrorOpenFile2
- move.l d0,FileHandles(a5)
-
- move.l d0,d1
- move.l StartFileID(a5),d2
- move.l PackedSize(a5),d3
- tst.l PackedSize(a5)
- bne.b NoZero
- move.l OriginalSize(a5),d3
- NoZero:
- jsr Write(a6)
- move.l d0,d2
-
- move.l FileHandles(a5),d1
- jsr Close(a6)
-
- tst.l d0
- beq.w ErrorCloseFile2
-
- cmp.l d2,d3
- bne.w DiskIsFull
-
- lea Comment(pc),a0
- lea ArgComment(pc),a1
-
- move.l DisplayID(a5),10(a1)
-
- move.l AllocStart(a5),d0
- move.l StartFileID2(a5),d1
- sub.l d0,d1
- move.l d1,4(a1)
-
- clr.b 59(a0)
-
- tst.l DiskVar(a5)
- beq.b SetComm
-
- move.l 4(a1),d0
- move.l d0,d1
- and.l #$1ff,d0
- move.l d0,4(a1)
- ; and.l #$fffffe00,d1
- ; lsr.l #8,d1
- ; lsr.l #1,d1
- divu #512,d1
- move.w d1,8(a1)
-
- cmpi.l #'DOS ',10(a1)
- bne.b Set
- clr.l 4(a1)
- clr.w 8(a1)
- Set:
- move.b #' ',59(a0)
-
- SetComm:
- bsr.w RawDoFormat
-
- lea FullNameS(pc),a0
- move.l a0,d1
- lea PutChData(pc),a0
- move.l a0,d2
- jsr SetComment(a6)
-
- ErrorCloseFile2
- ErrorOpenFile2
- bsr.w IOError
- bne.w ErrorFile2
-
- lea SaveOk(pc),a0
- bsr.w PrintStatus
-
- ErrorFile2
- bsr.w WorkPointer
-
- rts
-
- DiskIsFull
- lea DiskFull(pc),a0
- bsr.w PrintStatus
-
- bra.b ErrorFile2
-
- ArgComment:
- dc.l ArgComment1
- dc.l 0
- dc.w 0
- ArgComment1:
- dc.l 0
- dc.w 0
-
- ***************************************************************************
-
- NameZero:
- lea FileNameS(pc),a0
-
- tst.l SetNameZero(a5)
- bne.b AddName
-
- move.l a0,a2
- Loop:
- tst.b (a0)+
- bne.b Loop
- subq.l #1,a0
- move.l a0,d0
- sub.l a2,d0
- addq.l #1,d0
- move.l d0,SetNameZero(a5)
- move.b #'.',(a0)+
- move.b #'0',(a0)+
- move.b #'0',(a0)+
- move.b #'1',(a0)
- move.b #0,1(a0)
- rts
-
- AddName:
- add.l SetNameZero(a5),a0
- cmpi.b #'9',2(a0)
- bne.b Add0
- move.b #'0',2(a0)
-
- cmpi.b #'9',1(a0)
- bne.b Add1
- move.b #'0',1(a0)
-
- cmpi.b #'9',(a0)
- bne.b Add2
- move.b #'0',(a0)
-
- rts
-
- Add0:
- addq.b #1,2(a0)
- rts
- Add1:
- addq.b #1,1(a0)
- rts
- Add2:
- addq.b #1,(a0)
- rts
-
- ***************************************************************************
-
- Prefs:
-
- ;otarcie Window Prefs
-
- sub.l a0,a0
- lea WindowPrefTags(pc),a1
- move.l IntBase(a5),a6
- jsr OpenWindowTagList(a6)
-
- tst.l d0
- beq.w ErrorOpenWindowPrefs
- move.l d0,WindowPrefs(a5)
- lea WindowCheckID(pc),a0
- move.l d0,(a0)
-
- move.l Windows(a5),a0
- move.l ReqBase(a5),a6
- jsr rtLockWindow(a6)
- move.l d0,WindowLock(a5)
-
- ;ustawienie fontow Topaz 8
-
- lea Font(pc),a0
- move.l GrfxBase(a5),a6
- jsr OpenFont(a6)
-
- move.l d0,a0
- move.l WindowPrefs(a5),a1
- move.l WindowRastPort(a1),a1
- jsr SetFont(a6)
-
- ;odswiezenie okna
-
- move.l WindowPrefs(a5),a0
- sub.l a1,a1
- move.l GadBase(a5),a6
- jsr GT_RefreshWindow(a6)
-
- move.l IncVar(a5),IncCancel(a5)
- move.l DecrVar(a5),DecrCancel(a5)
- move.l SkipVar(a5),SkipCancel(a5)
- move.l DeepVar(a5),DeepCancel(a5)
- move.l DriveNum(a5),DriveCancel(a5)
- move.l FormatNum(a5),FormatCancel(a5)
- move.l RNC_old(a5),RNCCancel(a5)
-
- moveq #0,d6
- moveq #0,d7
- MainPrefs:
- move.l WindowPrefs(a5),a0
- move.l IDCMP(a0),a0
- move.l Exec.w,a6
- jsr WaitPort(a6)
-
- move.l WindowPrefs(a5),a0
- move.l IDCMP(a0),a0
- move.l GadBase(a5),a6
- jsr GT_GetIMsg(a6)
-
- tst.l d0
- beq.s MainPrefs
-
- move.l d0,a1
- move.l $14(a1),d5 ;Class
- move.w $18(a1),d6 ;Code
- move.l $1c(a1),a4 ;IAddress
- move.w $22(a1),d7 ;MouseY
- jsr GT_ReplyIMsg(a6)
-
- cmpi.l #IDCMP_GADGETUP,d5
- bne.b KeyPrefs
-
- move.w $26(a4),d0
-
- cmpi.w #6,d0
- beq.w Drives
-
- cmpi.w #7,d0
- beq.w IncName
-
- cmpi.w #8,d0
- beq.w DecrName
-
- cmpi.w #9,d0
- beq.w SkipName
-
- cmpi.w #10,d0
- beq.w SavePrefs
-
- cmpi.w #11,d0
- beq.w UsePrefs
-
- cmpi.w #12,d0
- beq.w CancelPrefs
-
- cmpi.w #13,d0
- beq.w Disable
-
- cmpi.w #14,d0
- beq.w DeepName
-
- cmpi.w #15,d0
- beq.w Invert
-
- cmpi.w #16,d0
- beq.w Clear
-
- cmpi.w #17,d0
- beq.w ImageS
-
- cmpi.w #18,d0
- beq.w Formats
-
- cmpi.w #19,d0
- beq.w RNC
-
- KeyPrefs:
- cmpi.l #IDCMP_VANILLAKEY,d5
- bne.w MainPrefs
-
- cmpi.w #27,d6
- beq.w CancelPrefs
-
- cmpi.w #'d',d6
- beq.w SelectDrive
-
- cmpi.w #'o',d6
- beq.w SelectFormat
-
- cmpi.w #'i',d6
- beq.b SelectInc
-
- cmpi.w #'e',d6
- beq.w SelectDecr
-
- cmpi.w #'k',d6
- beq.w SelectSkip
-
- cmpi.w #'r',d6
- beq.w SelectRNC
-
- cmpi.w #'s',d6
- beq.w SavePrefs
-
- cmpi.w #'u',d6
- beq.w UsePrefs
-
- cmpi.w #'c',d6
- beq.w CancelPrefs
-
- cmpi.w #'p',d6
- beq.w SelectDeep
-
- cmpi.w #'v',d6
- beq.w Invert
-
- cmpi.w #'l',d6
- beq.w Clear
-
- cmpi.w #'m',d6
- beq.w ImageS
-
- bra.w MainPrefs
-
- ***************************************************************************
-
- Drives:
- and.l #$0000ffff,d6
- move.l d6,DriveNum(a5)
- bra.w MainPrefs
-
- ***************************************************************************
-
- Formats:
- and.l #$0000ffff,d6
- move.l d6,FormatNum(a5)
- bra.w MainPrefs
-
- ***************************************************************************
-
- IncName:
- eor.l #1,IncVar(a5)
- bra.b Tu
-
- SelectInc:
- lea Inc(pc),a1
- clr.l (a1)
-
- tst.l IncVar(a5)
- bne.b NoSelect
-
- move.l #1,(a1)
- NoSelect:
- eor.l #1,IncVar(a5)
-
- move.l GadgetPref3(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea IncTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
- Tu:
- tst.l IncVar(a5)
- bne.w MainPrefs
-
- lea Decr(pc),a0
- clr.l (a0)
- clr.l DecrVar(a5)
-
- move.l GadgetPref4(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DecrTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- IncTag:
- dc.l GTCB_Checked
- Inc: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- DecrName:
- lea DecrVar(a5),a0
- eor.l #1,DecrVar(a5)
-
- bra.b Change
-
- SelectDecr:
- lea Decr(pc),a1
- clr.l (a1)
-
- tst.l DecrVar(a5)
- bne.b NoSelect2
-
- move.l #1,(a1)
- NoSelect2:
- eor.l #1,DecrVar(a5)
-
- move.l GadgetPref4(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DecrTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- lea Decr(pc),a0
- Change:
- tst.l (a0)
- beq.b NoChange
-
- clr.l IncVar(a5)
-
- bra.w SelectInc
-
- NoChange:
- move.l #1,IncVar(a5)
-
- bra.w SelectInc
-
- DecrTag:
- dc.l GTCB_Checked
- Decr: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- SelectDrive:
- lea Drv(pc),a1
- move.l DriveNum(a5),d0
- cmp.l #3,d0
- beq.b DriveWewn2
- addq.l #1,DriveNum(a5)
- move.l DriveNum(a5),(a1)
- GadView:
- move.l GadgetPref2(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DriveTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- DriveWewn2:
- clr.l DriveNum(a5)
- clr.l (a1)
-
- bra.b GadView
-
- DriveTag:
- dc.l GTCY_Active
- Drv: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- SelectFormat:
- lea Format(pc),a1
- move.l FormatNum(a5),d0
- cmp.l #6,d0
- beq.b FirstFormat
- addq.l #1,FormatNum(a5)
- move.l FormatNum(a5),(a1)
- GadViewE
- move.l GadgetPrefE(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea FormatTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- FirstFormat
- clr.l FormatNum(a5)
- clr.l (a1)
-
- bra.b GadViewE
-
- FormatTag:
- dc.l GTCY_Active
- Format: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- SkipName:
- eor.l #1,SkipVar(a5)
-
- bra.w MainPrefs
-
- SelectSkip:
- lea Skip(pc),a1
- clr.l (a1)
-
- tst.l SkipVar(a5)
- bne.b NoSelect3
-
- move.l #1,(a1)
- NoSelect3:
- eor.l #1,SkipVar(a5)
-
- move.l GadgetPref5(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea SkipTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- SkipTag:
- dc.l GTCB_Checked
- Skip: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- Disable:
- move.l WindowPrefs(a5),a0
- move.l GadBase(a5),a6
- jsr GT_BeginRefresh(a6)
-
- move.l GadgetPref9(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea TagsListNil(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l d6,Top ; d6 = code
- sub.w #37,d7 ; d7 = mouseY
- lsr.w #3,d7
- sub.w d7,Top+2
- bpl.b Go
- clr.l Top
- Go:
- lea EnableID(pc),a0
- add.w d6,d6
- add.w d6,d6
- add.l d6,a0
- move.l (a0),a0
- cmpi.b #'D',(a0)
- beq.b D
- move.b #'D',(a0)
- bra.b D1
- D:
- move.b #' ',(a0)
- D1:
- moveq #1,d0
- move.l WindowPrefs(a5),a0
- jsr GT_EndRefresh(a6)
-
- move.l GadgetPref9(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea TagListView(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- TagsListNil:
- dc.l GTLV_Labels,0
- dc.l 0
-
- ***************************************************************************
-
- SavePrefs:
- bsr.w CheckEnableID
- bne.w MainPrefs
-
- moveq #0,d0
- moveq #0,d7
- lea EnableID(pc),a0
- lea Enable1(a5),a1
- Loops:
- tst.l (a0)
- beq.b QuitSavePrefs
- move.l (a0),a2
- cmpi.b #32,d7
- bne.b NoOver
- moveq #0,d0
- moveq #0,d7
- addq.l #4,a1
- NoOver:
- cmpi.b #'D',(a2)
- bne.b NoDisable
- bset d7,d0
- NoDisable:
- move.l d0,(a1)
- addq.b #1,d7
- addq.l #4,a0
- bra.b Loops
- QuitSavePrefs:
-
- move.l IncVar(a5),IncFileName(a5)
- move.l DecrVar(a5),DecrFile(a5)
- move.l SkipVar(a5),SkipFile(a5)
- move.l DeepVar(a5),DeepSearch(a5)
- move.w FormatNum+2(a5),FormatNumbers(a5)
- move.w DriveNum+2(a5),DriveNumbers(a5)
- ; move.l RNCVar(a5),RNC_old(a5)
-
- lea PrefsName(pc),a0
- move.l a0,d1
- move.l #1006,d2
- move.l DosBase(a5),a6
- jsr Open(a6)
-
- tst.l d0
- beq.w ErrorSavePrefs
- move.l d0,FileHandles(a5)
-
- move.l d0,d1
- lea Enable1(a5),a0
- move.l a0,d2
- moveq #50,d3
- jsr Write(a6)
-
- move.l d0,d2
-
- move.l FileHandles(a5),d1
- jsr Close(a6)
-
- tst.l d0
- beq.w ErrorSavePrefs
-
- tst.l d2
- beq.w ErrorSavePrefs
-
- lea SavePrefsText(pc),a0
- bsr.w PrintStatus
-
- bra.w QuitPrefs
-
- ErrorSavePrefs:
- lea ErrorSavePrefsText(pc),a0
- bsr.w PrintStatus
-
- bra.w QuitPrefs
-
- ***************************************************************************
-
- UsePrefs:
- bsr.w CheckEnableID
- bne.w MainPrefs
-
- moveq #0,d0
- moveq #0,d7
- lea EnableID(pc),a0
- lea Enable1(a5),a1
- Loops2:
- tst.l (a0)
- beq.b QuitUsePrefs
- move.l (a0),a2
- cmpi.b #32,d7
- bne.b NoOver2
- moveq #0,d0
- moveq #0,d7
- addq.l #4,a1
- NoOver2:
- cmpi.b #'D',(a2)
- bne.b NoDisable2
- bset d7,d0
- NoDisable2:
- move.l d0,(a1)
- addq.b #1,d7
- addq.l #4,a0
- bra.b Loops2
- QuitUsePrefs:
- move.l IncVar(a5),IncFileName(a5)
- move.l DecrVar(a5),DecrFile(a5)
- move.l SkipVar(a5),SkipFile(a5)
- move.l DeepVar(a5),DeepSearch(a5)
- move.w FormatNum+2(a5),FormatNumbers(a5)
- move.w DriveNum+2(a5),DriveNumbers(a5)
- ; move.l RNCVar(a5),RNC_old(a5)
-
- bra.w QuitPrefs
-
- ***************************************************************************
-
- CancelPrefs:
- moveq #0,d7
- lea EnableID(pc),a0
- lea Enable1(a5),a1
- move.l (a1)+,d0
- Loops3:
- tst.l (a0)
- beq.b QuitCancelPrefs
- move.l (a0),a2
- cmpi.b #32,d7
- bne.b NoOver3
- moveq #0,d7
- move.l (a1)+,d0
- NoOver3:
- btst d7,d0
- beq.b NoDisable3
- move.b #'D',(a2)
- bra.b NoDisable4
- NoDisable3:
- move.b #' ',(a2)
- NoDisable4:
- addq.b #1,d7
- addq.l #4,a0
- bra.b Loops3
- QuitCancelPrefs:
-
- move.l DriveCancel(a5),Drv
- move.l DriveCancel(a5),DriveNum(a5)
- ; move.l DriveCancel(a5),DriveActive
-
- move.l GadgetPref2(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DriveTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l FormatCancel(a5),Format
- move.l FormatCancel(a5),FormatNum(a5)
- ; move.l FormatCancel(a5),FormatActive
-
- move.l GadgetPrefE(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea FormatTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l IncCancel(a5),Inc
- move.l IncCancel(a5),IncVar(a5)
- ; move.l IncCancel(a5),IncCheck
-
- move.l GadgetPref3(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea IncTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l DecrCancel(a5),Decr
- move.l DecrCancel(a5),DecrVar(a5)
-
- move.l GadgetPref4(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DecrTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l SkipCancel(a5),Skip
- move.l SkipCancel(a5),SkipVar(a5)
-
- move.l GadgetPref5(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea SkipTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l DeepCancel(a5),Dee
- move.l DeepCancel(a5),DeepVar(a5)
-
- move.l GadgetPrefA(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DeepTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- move.l RNCCancel(a5),RNC_
- move.l RNCCancel(a5),RNC_old(a5)
-
- move.l GadgetPrefF(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea RNCTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w QuitPrefs
-
- ***************************************************************************
-
- DeepName:
- eor.l #1,DeepVar(a5)
-
- bra.w MainPrefs
-
- SelectDeep:
- lea Dee(pc),a1
- clr.l (a1)
-
- tst.l DeepVar(a5)
- bne.b NoSelect7
-
- move.l #1,(a1)
- NoSelect7:
- eor.l #1,DeepVar(a5)
-
- move.l GadgetPrefA(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea DeepTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- DeepTag:
- dc.l GTCB_Checked
- Dee: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- RNC:
- eor.l #1,RNC_old(a5)
-
- bra.w MainPrefs
-
- SelectRNC:
- lea RNC_(pc),a1
- clr.l (a1)
-
- tst.l RNC_old(a5)
- bne.b NoSelect8
-
- move.l #1,(a1)
- NoSelect8
- eor.l #1,RNC_old(a5)
-
- move.l GadgetPrefF(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea RNCTag(pc),a3
- move.l GadBase(a5),a6
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- RNCTag:
- dc.l GTCB_Checked
- RNC_: dc.l 0
- dc.l 0
-
- ***************************************************************************
-
-
- Invert:
- move.l WindowPrefs(a5),a0
- move.l GadBase(a5),a6
- jsr GT_BeginRefresh(a6)
-
- move.l GadgetPref9(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea TagsListNil(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- lea EnableID(pc),a0
- Loops5
- tst.l (a0)
- beq.b QuitInvertPrefs
- move.l (a0),a1
- cmpi.b #'D',(a1)
- bne.b NoDis
- move.b #' ',(a1)
- bra.b Dis
- NoDis:
- move.b #'D',(a1)
- Dis:
- addq.l #4,a0
- bra.b Loops5
-
- QuitInvertPrefs:
-
- moveq #1,d0
- move.l WindowPrefs(a5),a0
- jsr GT_EndRefresh(a6)
-
- move.l GadgetPref9(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea TagListView(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- ***************************************************************************
-
- Clear:
- move.l WindowPrefs(a5),a0
- move.l GadBase(a5),a6
- jsr GT_BeginRefresh(a6)
-
- move.l GadgetPref9(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea TagsListNil(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- lea EnableID(pc),a0
- .Loops
- tst.l (a0)
- beq.b QuitClearPrefs
- move.l (a0),a1
- move.b #' ',(a1)
- addq.l #4,a0
- bra.b .Loops
-
- QuitClearPrefs:
-
- moveq #1,d0
- move.l WindowPrefs(a5),a0
- jsr GT_EndRefresh(a6)
-
- move.l GadgetPref9(pc),a0
- move.l WindowPrefs(a5),a1
- sub.l a2,a2
- lea TagListView(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- bra.w MainPrefs
-
- ***************************************************************************
-
- ImageS:
- tst.l DiskVar(a5)
- beq.b DiskNotLoad
-
- clr.l StartFileID2(a5)
-
- move.l #'DOS ',DisplayID(a5)
-
- move.l StartFileID(a5),-(a7)
- move.l AllocStart(a5),StartFileID(a5)
-
- move.l PackedSize(a5),-(a7)
- move.l AllocLength(a5),PackedSize(a5)
-
- bsr.w SaveFile
-
- move.l (a7)+,PackedSize(a5)
- move.l (a7)+,StartFileID(a5)
-
- bra.w MainPrefs
-
- DiskNotLoad:
- lea DiskNotL(pc),a0
- bsr.w PrintStatus
-
- bra.w MainPrefs
-
- ***************************************************************************
-
- CheckEnableID
- lea EnableID(pc),a0
- Loops6
- tst.l (a0)
- beq.b QuitCheckID
- move.l (a0),a1
- cmpi.b #' ',(a1)
- beq.b NoDis6
- addq.l #4,a0
- bra.b Loops6
- NoDis6
- moveq #0,d0
- rts
-
- QuitCheckID:
- lea CheckIDText(pc),a1
- lea CheckIDGad(pc),a2
- sub.l a3,a3
- sub.l a4,a4
- lea CheckIDTags(pc),a0
- move.l ReqBase(a5),a6
- jsr rtEZRequestA(a6)
-
- moveq #1,d0
- rts
-
- CheckIDTags:
- dc.l RT_Window
- WindowCheckID:
- dc.l 0
- dc.l RT_ReqPos,REQPOS_CENTERWIN
- dc.l RT_WaitPointer,1
- dc.l RT_Underscore,'_'
- dc.l RT_LockWindow,1
- dc.l RTEZ_Flags,EZREQF_CENTERTEXT
- dc.l 0
- CheckIDText:
- dc.b 'Please, choose at least',10
- dc.b 'one ID to be checked',0
- CheckIDGad:
- dc.b '_Ok',0
-
- CNOP 0,2
-
- ***************************************************************************
-
- QuitPrefs:
- move.l Windows(a5),a0
- move.l WindowLock(a5),a1
- move.l ReqBase(a5),a6
- jsr rtUnlockWindow(a6)
-
- move.l WindowPrefs(a5),a0
- move.l IntBase(a5),a6
- jsr CloseWindow(a6)
-
- bra.w Main
-
- ErrorOpenWindowPrefs:
-
- lea ErrorOpenPrefs(pc),a0
- bsr.w PrintStatus
-
- bra.w Main
-
- ***************************************************************************
-
- About:
- lea AboutText(pc),a1
- lea AboutGad(pc),a2
- sub.l a3,a3
- sub.l a4,a4
- lea AboutTags(pc),a0
- move.l ReqBase(a5),a6
- jsr rtEZRequestA(a6)
-
- bra.w Main
-
- AboutTags:
- dc.l RT_Window
- WindowAbout:
- dc.l 0
- dc.l RT_ReqPos,REQPOS_CENTERWIN
- dc.l RT_WaitPointer,1
- dc.l RT_Underscore,'_'
- dc.l RT_LockWindow,1
- dc.l RTEZ_ReqTitle,Info
- dc.l RTEZ_Flags,EZREQF_CENTERTEXT
- dc.l 0
-
- AboutText:
- dc.b 'Track2File v1.22 beta',10
- dc.b '(c) 1995-97 by Wanted Team',10,10
- dc.b 'Send new ideas , bug reports to:',10
- dc.b 'Mr.Larmer of Wanted Team',10
- dc.b 'Czeslaw Maron',10
- dc.b 'ul.sw.Anny 45/17',10
- dc.b '42-700 Lubliniec',10
- dc.b 'Poland',10,10
- dc.b 'E-mail: mrlarmer@polbox.com',10,10
- dc.b 'All code in assembler',10
- dc.b 'This program (FreeWare) uses',10
- dc.b 'reqtools.library by Nico Fran',$e7,'ois',10
- dc.b '& Magnus Holmgren',10
- dc.b 'xfdmaster.library by Georg H',$f6,'rmann',0
- AboutGad:
- dc.b '_Ok',0
- Info:
- dc.b 'About',0
-
- CNOP 0,2
-
- ***************************************************************************
-
- BufferEmpty:
- lea BufferEmptyText(pc),a0
- bsr.w PrintStatus
- bsr.w WorkPointer
- rts
-
- *****************************************
-
- FileNotSelected:
- lea FileNotSelectedText(pc),a0
- bsr.w PrintStatus
- rts
-
- *****************************************
-
- ErrorAllocMemory:
- lea ErrorAllocMemoryText(pc),a0
- bsr.w PrintStatus
- bsr.w WorkPointer
- rts
-
- *****************************************
-
- NoLoad:
- lea NoFi(pc),a0
- bsr.w PrintStatus
- bsr.w WorkPointer
- rts
-
- *****************************************
-
- FileL:
- dc.l FullNameL
- LoadingFile:
- dc.b 'Loading file "%1.58s"',0
- BufferSize:
- dc.b 'Buffer size: %ld bytes',0
- LoadOk:
- dc.b 'Status: load Ok!',0
- CNOP 0,2
- FileS:
- dc.l FullNameS
- SavingFile:
- dc.b 'Saving file "%1.59s"',0
- SaveOk:
- dc.b 'Status: save Ok!',0
- DiskFull
- dc.b 'Status: disk is full!',0
- ReadDiskText:
- dc.b 'Disk reading in drive %s',0
- ReadDiskEndText:
- dc.b 'Status: Disk read Ok!',0
- SearchIDText:
- dc.b 'Status: Searching file ID',0
- FoundIDText:
- dc.b 'Found file ID: %s , original length: %08ld , packed length: %08ld',0
- FoundIDTextZero:
- dc.b 'Found file ID: %s , original length: %08ld , packed length: unknown',0
- FileInMem:
- dc.b 'File start at: $%08lx - $%08lx',0
- BufferInMem:
- dc.b 'Buffer at: $%08lx - $%08lx',0
- ContinueSearch:
- dc.b 'Continue searching',0
- NothingFound:
- dc.b 'File ID not found',0
- AbortSearch:
- dc.b 'Aborted',0
- PP20CalcText:
- dc.b 'Found file ID: %s , packer efficiency: %s',0
- PP20Calc2Text:
- dc.b 'Searching next ID and calculating PP20 file length',0
- Trace:
- dc.b 'Tracing... please wait',0
- ErrorLoadPrefsText:
- dc.b "Can't open 's:Track2File.prefs'",0
- StatusText:
- dc.b 'Status: %s',0
- ErrorAllocBufInfo:
- dc.b 'Status: Unable allocate memory for decrunched file',0
- Decrunching:
- dc.b 'Status: Decrunching file',0
- Header:
- dc.b 'Status',0
- PrefsName:
- dc.b 'S:Track2File.prefs',0
- SavePrefsText:
- dc.b 'Status: Preferences saved',0
- ErrorSavePrefsText:
- dc.b 'Status: Error saving preferences',0
- DiskNotL:
- dc.b 'Status: Disk not loaded',0
- ErrorOpenPrefs:
- dc.b 'Status: Unable to open window prefs',0
- BufferEmptyText:
- dc.b 'Status: Buffer is empty',0
- FileNotSelectedText:
- dc.b 'Status: No file selected',0
- ErrorAllocMemoryText:
- dc.b 'Status: Not enough memory',0
- NoFi:
- dc.b 'Status: File not loaded - length is zero',0
- ErrorDevice
- dc.b 'Status: Drive not detected',0
- ErrorReadTrackText:
- dc.b 'Unable disk read - trackdisk error nr %ld',0
- ErrorNoDiskText:
- dc.b 'Status: No disk in drive',0
- ConvertText
- dc.b 'Converting buffer to "%s" format',0
- ConvertOK
- dc.b 'Buffer converted',0
- OceanText
- dc.b 'Converted %ld files, corrupted %ld files',0
-
-
- ;FileL:
- ; dc.l FullNameL
- ;LoadingFile:
- ; dc.b 'Loading file "',$b6,$32,'%1.52s',$b6,$31,'"',3,0
- ;BufferSize:
- ; dc.b 'Buffer size: ',$b6,$32,'%ld',$b6,$31,' bytes',3,0
- ;LoadOk:
- ; dc.b 'Status: ',$b6,$32,'load Ok!',$b6,$31,3,0
- ; CNOP 0,2
- ;FileS:
- ; dc.l FullNameS
- ;SavingFile:
- ; dc.b 'Saving file "',$b6,$32,'%1.53s',$b6,$31,'"',3,0
- ;SaveOk:
- ; dc.b 'Status: ',$b6,$32,'save Ok!',$b6,$31,3,0
- ;ReadDiskText:
- ; dc.b 'Disk reading in drive ',$b6,$32,'%s',$b6,$31,3,0
- ;ReadDiskEndText:
- ; dc.b 'Status: ',$b6,$32,'Disk read Ok!',$b6,$31,3,0
- ;SearchIDText:
- ; dc.b 'Status: ',$b6,$32,'Searching file ID',$b6,$31,3,0
- ;FoundIDText:
- ; dc.b 'Found file ID: ',$b6,$32,'%s',$b6,$31,' , original length: ',$b6,$32,'%08ld',$b6,$31,3,0,' , packed length: ',3,0,$b6,$33,'%08ld',$b6,$31,3,0
- ;FoundIDTextZero:
- ; dc.b 'Found file ID: ',$b6,$32,'%s',$b6,$31,' , original length: ',$b6,$32,'%08ld',$b6,$31,' , packed length: ',$b6,$33,'unknown',$b6,$31,3,0
- ;FileInMem:
- ; dc.b 'File start at: ',$b6,$32,'$%08lx',$b6,$31,' - ',$b6,$32,'$%08lx',$b6,$31,3,0
- ;BufferInMem:
- ; dc.b 'Buffer at: ',$b6,$32,'$%08lx',$b6,$31,' - ',$b6,$32,'$%08lx',$b6,$31,3,0
- ;ContinueSearch:
- ; dc.b 'Continue searching',0
- ;NothingFound:
- ; dc.b $b6,$32,'File ID not found',$b6,$31,3,0
- ;AbortSearch:
- ; dc.b $b6,$32,'Aborted',$b6,$31,3,0
- ;PP20CalcText:
- ; dc.b 'Found file ID: ',$b6,$33,'PP20',$b6,$31,3,0
- ;PP20Calc2Text:
- ; dc.b 'Searching next ID and calculating PP20 file length',0
- ;Trace:
- ; dc.b 'Tracing... please wait',0
- ;ErrorLoadPrefsText:
- ; dc.b $b6,$32,"Can't open 's:Track2File.prefs'",$b6,$31,3,0
- ;StatusText:
- ; dc.b 'Status: ',$b6,$32,'%s',$b6,$31,3,0
- ;ErrorAllocBufInfo:
- ; dc.b 'Status: ',$b6,$32,'Unable allocate memory for decrunched file',$b6,$31,3,0
- ;Decrunching:
- ; dc.b 'Status: ',$b6,$32,'Decrunching file',$b6,$31,3,0
- ;Header:
- ; dc.b 'Status',0
- ;PrefsName:
- ; dc.b 'S:Track2File.prefs',0
- ;SavePrefsText:
- ; dc.b 'Status: ',$b6,$32,'Preferences saved',$b6,$31,3,0
- ;ErrorSavePrefsText:
- ; dc.b 'Status: ',$b6,$32,'Error saving preferences',$b6,$31,3,0
- ;DiskNotL:
- ; dc.b 'Status: ',$b6,$32,'Disk not loaded',$b6,$31,3,0
- ;ErrorOpenPrefs:
- ; dc.b 'Status: ',$b6,$32,'Unable to open window prefs',$b6,$31,3,0
- ;BufferEmptyText:
- ; dc.b 'Status: ',$b6,$32,'Buffer is empty',$b6,$31,3,0
- ;FileNotSelectedText:
- ; dc.b 'Status: ',$b6,$32,'No file selected',$b6,$31,3,0
- ;ErrorAllocMemoryText:
- ; dc.b 'Status: ',$b6,$32,'Not enough memory',$b6,$31,3,0
- ;NoFi:
- ; dc.b 'Status: ',$b6,$32,'File not loaded - length is zero',$b6,$31,3,0
- ;ErrorDevice
- ; dc.b 'Status: ',$b6,$32,'Drive not detected',$b6,$31,3,0
- ;ErrorReadTrackText:
- ; dc.b $b6,$32,'Unable disk read - trackdisk error nr %ld',$b6,$31,3,0
- ;ErrorNoDiskText:
- ; dc.b 'Status: ',$b6,$32,'No disk in drive',$b6,$31,3,0
-
-
- CNOP 0,2
-
- ***************************************************************************
-
- ReadDisk:
- bsr.w WaitPointer
- bsr.b ReadTr
-
- tst.l DiskVar(a5)
- beq.b NotConvert
-
- tst.l FormatNum(a5)
- beq.b NotConvert
-
- bsr.w Converter
-
- NotConvert
-
- bsr.w WorkPointer
-
- bra.w Main
-
- ReadTr:
- move.l DriveNum(a5),d0
- add.w d0,d0
- add.w d0,d0
- lea CycleLabels(pc),a1
- add.l d0,a1
-
- lea ReadDiskText(pc),a0
- bsr.w Printf
-
- bsr.w FreeMemory
-
- clr.l DiskVar(a5)
-
- move.l #1760*512,d0
- bsr.w AllocMemory
- tst.l d0
- beq.w ErrorAllocMemory
-
- move.l d0,a0 ;a0 = disk bufor
- bsr.w ReadTrack
- tst.l d0
- bne.w Err
- tst.b 31(a1) ;jezeli <>0 to error
- bne.w ErrorReadTrack
-
- lea ReadDiskEndText(pc),a0
- bsr.w PrintStatus
-
- move.l #1,DiskVar(a5)
-
- bsr.w MotorOff
- rts
-
- ***************************************************************************
-
- ReadTrack:
- movem.l a0,-(a7)
-
- move.l Exec.w,a6
-
- lea DiskIO(pc),a1
- lea DiskRep(pc),a0
- move.l a0,14(a1)
- move.l DriveNum(a5),d0 ; numer napedu
- moveq #0,d1
- lea TrackName(pc),a0
- jsr OpenDevice(a6)
- tst.l d0
- bne.b ErrorOpenDevice
-
- movem.l (a7)+,a0
-
- lea DiskIO(pc),a1
- move.w #2,28(a1)
- move.l a0,40(a1)
- move.l #1760*512,36(a1)
- move.l #0*512,44(a1)
- move.l Exec.w,a6
- jsr DoIO(a6)
-
- moveq #0,d0
- rts
-
- ErrorOpenDevice
- addq.l #4,a7
- lea ErrorDevice(pc),a0
- bsr.w PrintStatus
- moveq #-1,d0
- rts
-
- ErrorReadTrack:
- cmpi.b #29,31(a1)
- beq.b NoDisk
- clr.l d0
- move.b 31(a1),d0
- move.l d0,ErrorTrack(a5)
-
- lea ErrorReadTrackText(pc),a0
- lea ErrorTrack(a5),a1
- bsr.w Printf
-
- bsr.b MotorOff
- Err:
- bsr.w FreeMemory
- rts
-
- NoDisk:
- lea ErrorNoDiskText(pc),a0
- bsr.w PrintStatus
-
- bra.b Err
-
- ***************************************************************************
-
- MotorOff:
- lea DiskIO(pc),a1
- move.w #9,28(a1)
- clr.l 36(a1)
- move.l Exec.w,a6
- jsr DoIO(a6)
-
- lea DiskIO(pc),a1
- jsr CloseDevice(a6)
-
- rts
-
- ***************************************************************************
-
- Converter
- movem.l d0-a6,-(a7)
-
- cmp.l #1,FormatNum(a5)
- beq.b Graftgold
-
- cmp.l #2,FormatNum(a5)
- beq.w TenOfYlewen
-
- cmp.l #3,FormatNum(a5)
- beq.w PseudoOFS
-
- cmp.l #4,FormatNum(a5)
- beq.w Ocean
-
- cmp.l #5,FormatNum(a5)
- beq.w Robocop
-
- cmp.l #6,FormatNum(a5)
- beq.w DigitalDisco
-
- movem.l (a7)+,d0-a6
- rts
-
- Graftgold
- lea ConvertText(pc),a0
- lea CycleLabelsE+4(pc),a1
- bsr.w Printf
-
- move.l AllocStart(a5),a0
- move.l a0,a1
- add.l #901120+1024,a1
-
- move.w #440-1,d0
- c10
- moveq #(1024/16)-1,d1
- lea -2048(a1),a1
- c11
- movem.l (a0)+,d2-d5
- movem.l (a1)+,a2-a5
- movem.l d2-d5,-(a1)
- movem.l a2-a5,-(a0)
- lea 16(a0),a0
- lea 16(a1),a1
- dbf d1,c11
- dbf d0,c10
-
- movem.l (a7)+,d0-a6
-
- lea ConvertOK(pc),a0
- bsr.w PrintStatus
-
- rts
-
- TenOfYlewen
- lea ConvertText(pc),a0
- lea CycleLabelsE+8(pc),a1
- bsr.w Printf
-
- move.l AllocStart(a5),a0
- move.l a0,a1
-
- move.w #160-1,d0
- c20
- move.w #(5120/16)-1,d1
- c21
- movem.l (a0)+,d2-d5
- movem.l (a1)+,a2-a5
- movem.l d2-d5,-(a1)
- movem.l a2-a5,-(a0)
- lea 16(a0),a0
- lea 16(a1),a1
- dbf d1,c21
-
- lea 512(a0),a0
- dbf d0,c20
-
- move.w #((160*512)/4)-1,d1
- c22
- clr.l -(a0)
- dbf d1,c22
-
- movem.l (a7)+,d0-a6
-
- lea ConvertOK(pc),a0
- bsr.w PrintStatus
-
- rts
-
- PseudoOFS
- lea ConvertText(pc),a0
- lea CycleLabelsE+12(pc),a1
- bsr.w Printf
-
- move.l AllocStart(a5),a0
- move.l a0,a1
-
- move.w #1760-1,d0
- c30
- moveq #(24/4)-1,d1
- c31
- clr.l (a0)+
- dbf d1,c31
-
- moveq #(488/4)-1,d1
- c32
- move.l (a0),(a1)+
- clr.l (a0)+
- dbf d1,c32
-
- dbf d0,c30
-
- movem.l (a7)+,d0-a6
-
- lea ConvertOK(pc),a0
- bsr.w PrintStatus
-
- rts
-
- Ocean
- lea ConvertText(pc),a0
- lea CycleLabelsE+16(pc),a1
- bsr.w Printf
-
- move.l AllocStart(a5),a0
- move.l a0,a1
-
- add.l #901120,a1
- moveq #0,d2
- moveq #0,d3
- OceanLoop
- moveq #0,d0
- moveq #0,d1
- moveq #0,d7
-
- move.b (a0),d0
- eor.b #'R',d0
- subq.b #1,d0
- move.b 1(a0),d1
- eor.b d0,d1
-
- cmp.b #'N',d1
- bne.b c42
-
- subq.b #1,d0
- move.b 2(a0),d1
- eor.b d0,d1
-
- cmp.b #'C',d1
- bne.b c42
-
- subq.b #1,d0
- move.b 3(a0),d1
- eor.b d0,d1
-
- cmp.b #1,d1
- bne.b c42
-
- subq.b #1,d0
- move.b 4(a0),d1
- eor.b d0,d1
-
- tst.b d1
- bne.b c42
-
- subq.b #4,d0
- move.b 8(a0),d1
- eor.b d0,d1
-
- tst.b d1
- bne.b c42
-
- subq.b #1,d0
- move.b 9(a0),d1
- eor.b d0,d1
-
- move.b d1,d7
- rol.l #8,d7
-
- subq.b #1,d0
- move.b 10(a0),d1
- eor.b d0,d1
-
- move.b d1,d7
- rol.l #8,d7
-
- subq.b #1,d0
- move.b 11(a0),d1
- eor.b d0,d1
-
- move.b d1,d7
- add.l #$12,d7
-
- btst.l #0,d7
- beq.b Bit0
- addq.l #1,d7
- Bit0
- bsr.w Decode
-
- c42
- cmp.l a0,a1
- bls.b OceanEnd
-
- addq.l #1,a0
- bra.w OceanLoop
-
- OceanEnd
- move.l d2,OceanOk
- move.l d3,OceanFault
-
- movem.l (a7)+,d0-a6
-
- lea OceanText(pc),a0
- lea OceanOk(pc),a1
- bsr.w Printf
-
- rts
-
- OceanOk
- dc.l 0
- OceanFault
- dc.l 0
-
- Decode
- moveq #0,d0
- moveq #0,d1
- c40
- move.b (a0),d1
- eor.b d7,d1
- eor.b d1,d0
- ror.l #1,d0
- move.b d1,(a0)+
- subq.l #1,d7
- bne.b c40
- tst.l (a0)
- beq.b c41
- cmp.l (a0),d0
- bne.b c41
-
- addq.l #3,a0
- addq.l #1,d2
-
- rts
- c41
- addq.l #3,a0
- addq.l #1,d3
-
- rts
-
- Robocop
- lea ConvertText(pc),a0
- lea CycleLabelsE+20(pc),a1
- bsr.w Printf
-
- move.l AllocStart(a5),a0
- move.l a0,a1
-
- move.w #80-1,d0
- c50
- move.w #($1850/16)-1,d1
- c51
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
-
- dbf d1,c51
-
- lea $13B0(a0),a0
- dbf d0,c50
-
- move.w #((80*$13B0)/16)-1,d1
- c52
- clr.l (a1)+
- clr.l (a1)+
- clr.l (a1)+
- clr.l (a1)+
- dbf d1,c52
-
- movem.l (a7)+,d0-a6
-
- lea ConvertOK(pc),a0
- bsr.w PrintStatus
-
- rts
-
- DigitalDisco
- lea ConvertText(pc),a0
- lea CycleLabelsE+24(pc),a1
- bsr.w Printf
-
- move.l AllocStart(a5),a0
- move.l a0,a1
-
- add.l #901120,a1
- .loop
- move.l (A0)+,D0
- not.l D0
- cmp.l #'M.K.',D0
- beq.b .ok
- cmp.l A0,A1
- bne.b .loop
- bra.b .end
- .ok
- lea -$438+4(A0),A0
- move.l #$186A0,D0
- .loop2
- not.l (A0)+
- cmp.l A0,A1
- beq.b .end
- subq.l #1,D0
- bne.b .loop2
- bra.b .loop
- .end
- movem.l (a7)+,d0-a6
-
- lea ConvertOK(pc),a0
- bsr.w PrintStatus
-
- rts
-
- ***************************************************************************
-
- AllocMemory:
- move.l d0,AllocLength(a5)
- move.l d0,AllocEnd(a5)
-
- move.l #$10001,d1 ;Public i Clear
- move.l Exec.w,a6
- jsr AllocMem(a6)
-
- tst.l d0
- beq.b Error
-
- move.l d0,AllocStart(a5)
- add.l d0,AllocEnd(a5)
- Error:
- rts
-
- ***************************************************************************
-
- FreeMemory:
- tst.l AllocStart(a5)
- beq.b NoAlloc
-
- move.l AllocStart(a5),a1
- move.l AllocLength(a5),d0
- move.l Exec.w,a6
- jsr FreeMem(a6)
-
- clr.l AllocStart(a5)
- NoAlloc:
- rts
-
- ***************************************************************************
-
- WaitPointer:
- movem.l d0-a6,-(a7)
-
- move.l ReqBase(a5),a6
- move.l Windows(a5),a0
- jsr rtSetWaitPointer(a6)
-
- movem.l (a7)+,d0-a6
- rts
-
- WorkPointer:
- movem.l d0-a6,-(a7)
-
- move.l IntBase(a5),a6
- move.l Windows(a5),a0
- jsr ClearPointer(a6)
-
- movem.l (a7)+,d0-a6
- rts
-
- ***************************************************************************
-
- Pen:
- movem.l d0-a6,-(a7)
-
- move.l Windows(a5),a1
- move.l WindowRastPort(a1),a1
- move.l GrfxBase(a5),a6
- jsr SetAPen(a6)
-
- movem.l (a7)+,d0-a6
- rts
-
- ***************************************************************************
-
- Printf:
- movem.l d0-a6,-(a7)
-
- ; lea PutChData(pc),a3
- ; moveq #99,d0
- ;Clears
- ; clr.b (a3)+
- ; dbf d0,Clears
-
- bsr.b RawDoFormat
-
- lea PutChData(pc),a0
- bsr.w PrintStatus
-
- movem.l (a7)+,d0-a6
- rts
-
- RawDoFormat:
- movem.l d0-a6,-(a7)
-
- lea PutChProc(pc),a2
- lea PutChData(pc),a3
- move.l Exec.w,a6
- jsr RawDoFmt(a6)
-
- movem.l (a7)+,d0-a6
- rts
-
- PutChProc:
- move.b d0,(a3)+
- rts
-
- ***************************************************************************
-
- ;Print:
- ; movem.l d0-a6,-(a7)
-
- ; move.l a0,-(sp)
-
- ; move.l Windows(a5),a1
- ; move.l WindowRastPort(a1),a1
- ; move.l GrfxBase(a5),a6
- ; jsr Move(a6)
-
- ; move.l (sp)+,a0
- ; move.l a0,a1
- ;Add:
- ; tst.b (a1)+
- ; bne.b Add
- ; subq.l #1,a1
- ; sub.l a0,a1
- ; move.l a1,d0
- ; move.l Windows(a5),a1
- ; move.l WindowRastPort(a1),a1
- ; jsr Text(a6)
-
- ; movem.l (a7)+,d0-a6
- ; rts
-
- ***************************************************************************
-
- ;PrintStatus:
- ; movem.l d0-a6,-(a7)
-
- ; move.l a0,-(sp)
-
- ; bsr.b Scroll
-
- ; move.l (sp)+,a0
- ; cmpi.b #1,(a0)
- ; beq.b NewColor
- ; cmpi.b #3,(a0)
- ; bne.b NoNew
- ;NewColor:
- ; moveq #0,d0
- ; move.b (a0)+,d0
- ; move.l a0,-(sp)
- ; bra.b Color
- ;NoNew:
- ; move.l a0,-(sp)
- ; moveq #2,d0
- ;Color:
- ; bsr.w Pen
-
- ; move.l (sp)+,a0
- ; moveq #24,d0
- ; moveq #79,d1
- ; add.l Scrl(a5),d1
-
- ; bsr.b Print
-
- ; movem.l (a7)+,d0-a6
- ; rts
-
- ***************************************************************************
-
- ;Scroll:
- ; movem.l d0-a6,-(a7)
-
- ;IlLin:
- ; cmpi.l #17*9,Scrl(a5)
- ; bne.b DownLine
-
- ; move.l Windows(a5),a1
- ; move.l WindowRastPort(a1),a1
- ; moveq #0,d0
- ; moveq #9,d1
- ; moveq #16,d2
- ; moveq #81,d3
- ; move.l #621,d4
- ;Scro: move.l #233,d5
- ; move.l GrfxBase(a5),a6
- ; jsr ScrollRaster(a6)
-
- ; movem.l (a7)+,d0-a6
- ; rts
-
- ;DownLine:
- ; add.l #9,Scrl(a5)
-
- ; movem.l (a7)+,d0-a6
- ; rts
-
- ***************************************************************************
-
- Box:
- movem.l d0-a6,-(a7)
-
- move.l Windows(a5),a0
- move.l WindowRastPort(a0),a0
- moveq #11,d0
- moveq #20,d1
- move.l #618,d2
- moveq #46,d3
- lea BevelTag(pc),a1
- move.l GadBase(a5),a6
- jsr DrawBevelBoxA(a6)
-
- move.l Windows(a5),a0
- move.l WindowRastPort(a0),a0
- moveq #16,d0
- moveq #23,d1
- move.l #608,d2
- moveq #40,d3
- lea BevelTag2(pc),a1
- jsr DrawBevelBoxA(a6)
-
- move.l Windows(a5),a0
- move.l WindowRastPort(a0),a0
- moveq #11,d0
- moveq #75,d1
- move.l #618,d2
- Box1: move.l #163,d3
- lea BevelTag(pc),a1
- jsr DrawBevelBoxA(a6)
-
- move.l Windows(a5),a0
- move.l WindowRastPort(a0),a0
- moveq #13,d0
- moveq #76,d1
- move.l #614,d2
- Box2: move.l #161,d3
- lea BevelTag2(pc),a1
- jsr DrawBevelBoxA(a6)
-
- movem.l (a7)+,d0-a6
- rts
-
- BevelTag:
- dc.l GT_VisualInfo
- Visual10:
- dc.l 0
- dc.l GTBB_Recessed,1
- dc.l 0
-
- BevelTag2:
- dc.l GT_VisualInfo
- Visual11:
- dc.l 0
- dc.l 0
-
- ***************************************************************************
-
- DosName: dc.b 'dos.library',0
- IntName: dc.b 'intuition.library',0
- GfxName: dc.b 'graphics.library',0
- GadName: dc.b 'gadtools.library',0
- ReqName: dc.b 'reqtools.library',0
- XfdName: dc.b 'xfdmaster.library',0
- TrackName: dc.b 'trackdisk.device',0
-
- CNOP 0,2
-
- Variables: ds.l 65
-
- Glist: dc.l 0
- Gadget1: dcb.l 8,0
- Gadget2: dcb.l 8,0
- Gadget3: dcb.l 8,0
- Gadget4: dcb.l 8,0
- Gadget5: dcb.l 8,0
- Gadget6: dcb.l 8,0
- Gadget7: dcb.l 8,0
-
- Glist2: dc.l 0
- GadgetPref1: dcb.l 8,0
- GadgetPref2: dcb.l 8,0
- GadgetPref3: dcb.l 8,0
- GadgetPref4: dcb.l 8,0
- GadgetPref5: dcb.l 8,0
- GadgetPref6: dcb.l 8,0
- GadgetPref7: dcb.l 8,0
- GadgetPref8: dcb.l 8,0
- GadgetPref9: dcb.l 8,0
- GadgetPrefA: dcb.l 8,0
- GadgetPrefB: dcb.l 8,0
- GadgetPrefC: dcb.l 8,0
- GadgetPrefD: dcb.l 8,0
- GadgetPrefE: dcb.l 8,0
- GadgetPrefF: dcb.l 8,0
-
- CNOP 0,2
-
- ***************************************************************************
-
- TagsLoad:
- dc.l RT_Window
- WindowLoad: dc.l 0
- dc.l RT_ReqPos,REQPOS_CENTERWIN
- dc.l RT_WaitPointer,1
- dc.l RT_Underscore,'_'
- dc.l RT_LockWindow,1
- dc.l RTFI_Flags,FREQF_PATGAD!FREQF_MULTISELECT
- dc.l RTFI_Height,248
- dc.l RTFI_OkText,LoadFileG
- dc.l 0
- FileReqNameLoad:
- dc.b 'Load file(s)',0
- LoadFileG:
- dc.b 'L_oad',0
- CNOP 0,2
-
- ***************************************************************************
-
- TagsSave:
- dc.l RT_Window
- WindowSave: dc.l 0
- dc.l RT_ReqPos,REQPOS_CENTERWIN
- dc.l RT_WaitPointer,1
- dc.l RT_Underscore,'_'
- dc.l RT_LockWindow,1
- dc.l RTFI_Flags,FREQF_SAVE
- dc.l RTFI_Height,248
- dc.l RTFI_OkText,SaveFileG
- dc.l 0
- FileReqNameSave:
- dc.b 'Save file',0
- SaveFileG:
- dc.b '_Save',0
- CNOP 0,2
-
- ***************************************************************************
-
- Comment:
- dc.b 'Track2File V1.22 by Mr.Larmer/WNT - ID: %s , Offset: $%08lx , Track: %04d',0
- CNOP 0,2
-
- ***************************************************************************
-
- WindowTags:
- dc.l WA_Left,0
- dc.l WA_Top,11
- dc.l WA_Width,640
- dc.l WA_Height
- WinHei: dc.l 245
- dc.l WA_DetailPen,0
- dc.l WA_BlockPen,1
- dc.l WA_IDCMP,IDCMP_NEWSIZE!IDCMP_CLOSEWINDOW!IDCMP_GADGETUP!IDCMP_VANILLAKEY!IDCMP_MOUSEBUTTONS!LISTVIEWIDCMP
- dc.l WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_ACTIVATE!WFLG_RMBTRAP!WFLG_CLOSEGADGET!WFLG_NOCAREREFRESH
- dc.l WA_Gadgets,Gadget1
- dc.l WA_Title,WindowTitle
- dc.l WA_ScreenTitle,WindowTitle
- dc.l WA_MinWidth,0
- dc.l WA_MinHeight,0
- dc.l WA_MaxWidth,0
- dc.l WA_MaxHeight,0
- dc.l WA_Zoom,Zoom
- dc.l 0
-
- Zoom:
- dc.w 0,11,214,11
- WindowTitle:
- dc.b 'Track2File V1.22 beta © 1995-97 by Mr.Larmer of Wanted Team',0
- CNOP 0,2
-
- ***************************************************************************
-
- WindowPrefTags:
- dc.l WA_Left,120
- dc.l WA_Top,60
- dc.l WA_Width,400
- dc.l WA_Height,185
- dc.l WA_DetailPen,0
- dc.l WA_BlockPen,1
- dc.l WA_IDCMP,IDCMP_GADGETUP!IDCMP_VANILLAKEY!IDCMP_GADGETDOWN!LISTVIEWIDCMP
- dc.l WA_Flags,WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_ACTIVATE!WFLG_RMBTRAP!WFLG_NOCAREREFRESH
- dc.l WA_Gadgets,GadgetPref1
- dc.l WA_Title,WindowPrefTitle
- dc.l WA_ScreenTitle,WindowTitle
- dc.l WA_MinWidth,0
- dc.l WA_MinHeight,0
- dc.l WA_MaxWidth,0
- dc.l WA_MaxHeight,0
- dc.l 0
-
- WindowPrefTitle:
- dc.b 'Preferences',0
- CNOP 0,2
-
- ***************************************************************************
-
- Font: dc.l Font2
- dc.w 8
- dc.b 0,1
- Font2: dc.b 'topaz.font',0
- CNOP 0,2
-
- ***************************************************************************
-
- DiskReadGad:
- dc.w GadLeftEdge+(GadWidth*0)+(GadNaStyk*0),GadTopEdge
- dc.w GadWidth,GadHeight
- dc.l DiskReadText
- dc.l Font
- dc.w 1
- dc.l PLACETEXT_IN
- Visual1: dc.l 0
- dc.l 0
-
- TagListButton:
- dc.l GT_Underscore,'_'
- dc.l 0
-
- DiskReadText: dc.b 'Disk _Read',0
- CNOP 0,2
-
- ***************************************************************************
-
- LoadFileGad:
- dc.w GadLeftEdge+(GadWidth*1)+(GadNaStyk*1),GadTopEdge
- dc.w GadWidth,GadHeight
- dc.l LoadFileText
- dc.l Font
- dc.w 2
- dc.l PLACETEXT_IN
- Visual2: dc.l 0
- dc.l 0
-
- LoadFileText: dc.b '_Load File',0
- CNOP 0,2
-
- ***************************************************************************
-
- SearchGad:
- dc.w GadLeftEdge+(GadWidth*2)+(GadNaStyk*2),GadTopEdge
- dc.w GadWidth,GadHeight
- dc.l SearchText
- dc.l Font
- dc.w 3
- dc.l PLACETEXT_IN
- Visual3: dc.l 0
- dc.l 0
-
- SearchText: dc.b '_Search',0
- CNOP 0,2
-
- ***************************************************************************
-
- PrefsGad:
- dc.w GadLeftEdge+(GadWidth*3)+(GadNaStyk*3),GadTopEdge
- dc.w GadWidth,GadHeight
- dc.l PrefsText
- dc.l Font
- dc.w 4
- dc.l PLACETEXT_IN
- Visual4: dc.l 0
- dc.l 0
-
- PrefsText: dc.b '_Prefs',0
- CNOP 0,2
-
- ***************************************************************************
-
- AboutsGad:
- dc.w GadLeftEdge+(GadWidth*4)+(GadNaStyk*4),GadTopEdge
- dc.w GadWidth,GadHeight
- dc.l AboutsText
- dc.l Font
- dc.w 5
- dc.l PLACETEXT_IN
- Visual5: dc.l 0
- dc.l 0
-
- AboutsText: dc.b '_About',0
- CNOP 0,2
-
- ***************************************************************************
-
- StatusGad:
- dc.w 17,78
- dc.w 610,163
- dc.l StatusText2
- dc.l Font
- dc.w 18
- dc.l PLACETEXT_ABOVE!NG_HIGHLABEL
- Visual20: dc.l 0
- dc.l 0
-
- TagListView2:
- dc.l GTLV_Labels,ID_List2
- dc.l GTLV_ReadOnly,1
- dc.l GTLV_ScrollWidth,18
- dc.l LAYOUTA_Spacing,1
- dc.l GTLV_Top
- Top2: dc.l 0
- dc.l 0
-
- StatusText2: dc.b 0
- CNOP 0,2
- ID_List2:
- ; dc.l ID_Nodes0,0,ID_Nodes0,0
- dc.l 0,0,0,0
-
- ;ID_Nodes0:
- ; dcb.b 50*14
- ;ID_Names0:
- ; dcb.b 50*100
- CNOP 0,2
-
- Licznik
- dc.l 0
-
- PrintStatus
- movem.l d0-a6,-(a7)
-
- move.l a0,-(a7)
-
- ; bsr.w SetFunc
-
- move.l Windows(a5),a0
- move.l GadBase(a5),a6
- jsr GT_BeginRefresh(a6)
-
- move.l Gadget7(pc),a0
- move.l Windows(a5),a1
- sub.l a2,a2
- lea TagsListNil(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- ; move.l Windows(a5),a0
- ; move.l GadBase(a5),a6
- ; jsr GT_BeginRefresh(a6)
-
- cmp.l #200,Licznik
- blt.b NotTrans
-
- move.l BufTextNames(A5),a0
- lea 100(a0),a1
- move.l #(200-1)*100,d0
- cop2
- move.b (a1)+,(a0)+
- subq.l #1,d0
- bne.b cop2
- NotTrans
- move.l (a7)+,a0 ; tekst do skopiowania
- move.l BufTextNames(A5),a1
- move.l Licznik(pc),d0
- mulu.w #100,d0
- add.l d0,a1
- cmp.l #200,Licznik
- blt.b minus
- lea -100(a1),a1
- minus
- moveq #98,d0
- cop
- subq.l #1,d0
- move.b (a0)+,(a1)+
- bne.b cop
-
- tst.l d0
- bpl. od
- moveq #0,d0
- od
- subq.l #1,a1
-
- ; cmp.b #3,(a1)
- ; bne.b NotOne
- Clears
- move.b #' ',(a1)+
- dbf d0,Clears
- ;; move.b #$b6,(a1)+
- ;; move.b #$31,(a1)+
- ; move.b #3,(a1)+
- clr.b (a1)
- ;NotOne
-
- move.l BufTextNodes(A5),a0
- move.l BufTextNames(A5),a2
- lea ID_List2(pc),a3
-
- tst.l Licznik
- bne.b SecondNodes
-
- move.l a0,(a3)
- move.l a0,8(a3)
-
- move.l a3,(a0) ;next node ptr
- addq.l #4,(a0)+
- move.l a3,(a0)+ ;first node ptr
- clr.w (a0)+
- move.l a2,(a0)+ ;text ptr
- bra.w Compa
-
- SecondNodes
- cmp.l #1,Licznik
- bne.b ThreeNodes
-
- move.l Licznik(pc),d0
- subq.l #1,d0
- move.l d0,d1
- mulu.w #14,d0
- add.l d0,a0
- lea 14(a0),a1
- move.l a1,(a0)+ ;next node ptr
- move.l a3,(a0)+ ;prev node ptr
- clr.w (a0)+
- mulu.w #100,d1
- add.l d1,a2
- move.l a2,(a0)+ ;text ptr
-
- move.l a0,8(a3)
-
- move.l a3,(a0) ;next node ptr
- addq.l #4,(a0)+
- lea -18(a0),a4
- move.l a4,(a0)+ ;prev node ptr
- clr.w (a0)+
- lea 100(a2),a2
- move.l a2,(a0)+ ;text ptr
-
- bra.w Compa
-
- ThreeNodes
- cmp.l #200,Licznik
- bge.b Compa
-
- move.l Licznik(pc),d0
- subq.l #1,d0
- move.l d0,d1
- mulu.w #14,d0
- add.l d0,a0
- lea 14(a0),a1
- move.l a1,(a0)+ ;next node ptr
- lea -18(a0),a4
- move.l a4,(a0)+ ;prev node ptr
- clr.w (a0)+
- mulu.w #100,d1
- add.l d1,a2
- move.l a2,(a0)+ ;text ptr
-
- move.l a0,8(a3)
-
- move.l a3,(a0) ;next node ptr
- addq.l #4,(a0)+
- lea -18(a0),a4
- move.l a4,(a0)+ ;prev node ptr
- clr.w (a0)+
- lea 100(a2),a2
- move.l a2,(a0)+ ;text ptr
-
- Compa
- cmp.l #200,Licznik
- bge.b Niedodaj
-
- Dodaj
- addq.l #1,Licznik
- Niedodaj
-
- cmp.l #17,Licznik
- bls.b NotTop
- move.l Licznik(pc),d0
- Niedo
- sub.l #17,d0
- move.l d0,Top2
- NotTop
- moveq #1,d0
- move.l Windows(a5),a0
- jsr GT_EndRefresh(a6)
-
- move.l Gadget7(pc),a0
- move.l Windows(a5),a1
- sub.l a2,a2
- lea TagListView2(pc),a3
- jsr GT_SetGadgetAttrsA(a6)
-
- ; moveq #1,d0
- ; move.l Windows(a5),a0
- ; jsr GT_EndRefresh(a6)
-
- movem.l (a7)+,d0-a6
-
- rts
-
- ;SetFunc
- ; move.l Exec.w,a6
- ; jsr Forbid(a6)
-
- ; move.l #Text,a0
- ; lea NewFunc(pc),a1
- ; move.l a1,d0
- ; move.l GrfxBase(a5),a1
- ; jsr SetFunction(a6)
- ; move.l d0,OldFunc
-
- ; jsr Permit(a6)
-
- ; rts
-
- ;SetOldFunc
- ; move.l Exec.w,a6
- ; jsr Forbid(a6)
-
- ; move.l #Text,a0
- ; move.l OldFunc(pc),d0
- ; move.l GrfxBase(a5),a1
- ; jsr SetFunction(a6)
-
- ; jsr Permit(a6)
-
- ; rts
-
- NewFunc
- ; Input
- ; D0 = length
- ; A0 = string
- ; A1 = rastport
-
- ; movem.l D0/A0-A1,-(SP)
- ; subq.l #1,D0
- ; adda.l D0,A0
- ; cmpi.b #3,(A0)
- ; bne.s lbC001092
- ; suba.l D0,A0
- ;lbC001088:
- ; cmpi.b #$B6,(A0)+
- ; beq.s lbC00109A
- ; dbra D0,lbC001088
- ;lbC001092:
- ; movem.l (SP)+,D0/A0-A1
- ; bra.w lbW001142
-
- ;lbC00109A:
- ; cmpi.b #$30,(A0)
- ; bcs.s lbC001092
- ; cmpi.b #$33,(A0)
- ; bhi.s lbC001092
- ;lbC0010A6:
- ; cmpi.b #$B6,(A0)+
- ; beq.s lbC0010B2
- ; dbra D0,lbC0010A6
- ; bra.s lbC001092
-
- ;lbC0010B2:
- ; cmpi.b #$30,(A0)
- ; bcs.s lbC001092
- ; cmpi.b #$33,(A0)
- ; bhi.s lbC001092
- ; movem.l (SP)+,D0/A0-A1
- ; movem.l D0-D7/A0-A6,-(SP)
- ;lbC0010C6:
- ; moveq #0,D0
- ; tst.b (A0)
- ; beq.w lbC00113C
- ;lbC0010CE:
- ; tst.b (A0)
- ; beq.s lbC001122
- ; cmpi.b #$B6,(A0)
- ; beq.s lbC0010DE
- ;lbC0010D8:
- ; addq.w #1,D0
- ; addq.w #1,A0
- ; bra.s lbC0010CE
-
- ;lbC0010DE:
- ; cmpi.b #$30,1(A0)
- ; bcs.s lbC0010D8
- ; cmpi.b #$33,1(A0)
- ; bhi.s lbC0010D8
- ; move.b 1(A0),lbW00114C.L
- ; suba.l D0,A0
- ; bsr.w lbC00112E
- ; adda.l D0,A0
- ; movem.l D0-D7/A0-A6,-(SP)
- ; moveq #0,D0
- ; move.b lbW00114C.L,D0
- ; subi.b #$30,D0
- ; movea.l Variables+GrfxBase(pc),A6
- ; jsr SetAPen(A6) ; Set A Pen
- ; movem.l (SP)+,D0-D7/A0-A6
- ; addq.l #2,A0
- ; bra.w lbC0010C6
-
- ;lbC001122:
- ; suba.l D0,A0
- ; subq.w #1,D0
- ; bsr.w lbC00112E
- ; bra.w lbC00113C
-
- ;lbC00112E:
- ; movem.l D0/A0/A1,-(SP)
- ; bsr.w lbW001142
- ; movem.l (SP)+,D0/A0/A1
- ; rts
-
- ;lbC00113C:
- ; movem.l (SP)+,D0-D7/A0-A6
- ; rts
-
- ;lbW00114C:
- ; dc.w 0
- ;lbW001142
- ; dc.w $4EF9
- ;OldFunc
- ; dc.l 0
-
- ***************************************************************************
-
- CycleGad:
- dc.w 10,20
- dc.w 70,14
- dc.l CycleText
- dc.l Font
- dc.w 6
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual6: dc.l 0
- dc.l 0
-
- TagListCycle:
- dc.l GT_Underscore,'_'
- dc.l GTCY_Labels,CycleLabels
- dc.l GTCY_Active
- DriveActive: dc.l 0
- dc.l 0
-
- CycleLabels:
- dc.l Drives0
- dc.l Drives1
- dc.l Drives2
- dc.l Drives3
- dc.l 0
-
- Drives0: dc.b 'DF0:',0
- Drives1: dc.b 'DF1:',0
- Drives2: dc.b 'DF2:',0
- Drives3: dc.b 'DF3:',0
-
- CycleText: dc.b '_Drive to read',0
- CNOP 0,2
-
- ***************************************************************************
-
- CycleGadE:
- dc.w 10,40
- dc.w 136,14
- dc.l CycleTextE
- dc.l Font
- dc.w 18
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual21: dc.l 0
- dc.l 0
-
- TagListCycleE
- dc.l GT_Underscore,'_'
- dc.l GTCY_Labels,CycleLabelsE
- dc.l GTCY_Active
- FormatActive dc.l 0
- dc.l 0
-
- CycleLabelsE
- dc.l Format0
- dc.l Format1
- dc.l Format2
- dc.l Format3
- dc.l Format4
- dc.l Format5
- dc.l Format6
- dc.l Format7
- dc.l 0
-
- Format0: dc.b 'Normal',0
- Format1: dc.b 'Graftgold',0
- Format2: dc.b '10 of 11',0
- Format3: dc.b 'Pseudo OFS',0
- Format4 dc.b 'Ocean',0
- Format5 dc.b 'Robocop',0
- Format6 dc.b 'Digital Disco',0
- Format7 dc.b 'LOB decode',0
-
- CycleTextE: dc.b 'C_onverter',0
- CNOP 0,2
-
- ***************************************************************************
-
- ChBoxGad:
- dc.w 10,60
- dc.w 26,11
- dc.l ChBoxText
- dc.l Font
- dc.w 7
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual7: dc.l 0
- dc.l 0
-
- TagListChBox:
- dc.l GT_Underscore,'_'
- dc.l GTCB_Checked
- IncCheck: dc.l 0
- dc.l 0
-
- ChBoxText: dc.b '_Inc file name',0
- CNOP 0,2
-
- ***************************************************************************
-
- ChBoxGad2:
- dc.w 10,75
- dc.w 26,11
- dc.l ChBoxText2
- dc.l Font
- dc.w 8
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual8: dc.l 0
- dc.l 0
-
- TagListChBox2:
- dc.l GT_Underscore,'_'
- dc.l GTCB_Checked
- DecrCheck: dc.l 0
- dc.l 0
-
- ChBoxText2: dc.b 'D_ecrunch before save',0
- CNOP 0,2
-
- ***************************************************************************
-
- ChBoxGad3:
- dc.w 10,90
- dc.w 26,11
- dc.l ChBoxText3
- dc.l Font
- dc.w 9
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual9: dc.l 0
- dc.l 0
-
- TagListChBox3:
- dc.l GT_Underscore,'_'
- dc.l GTCB_Checked
- SkipCheck: dc.l 0
- dc.l 0
-
- ChBoxText3: dc.b 'S_kip file',0
- CNOP 0,2
-
- ***************************************************************************
-
- ChBoxGad4:
- dc.w 10,105
- dc.w 26,11
- dc.l ChBoxText4
- dc.l Font
- dc.w 14
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual16: dc.l 0
- dc.l 0
-
- TagListChBox4:
- dc.l GT_Underscore,'_'
- dc.l GTCB_Checked
- DeepCheck: dc.l 0
- dc.l 0
-
- ChBoxText4: dc.b 'Dee_p search',0
- CNOP 0,2
-
- ***************************************************************************
-
- ChBoxGad5
- dc.w 10,120
- dc.w 26,11
- dc.l ChBoxText5
- dc.l Font
- dc.w 19
- dc.l PLACETEXT_RIGHT!NG_HIGHLABEL
- Visual22 dc.l 0
- dc.l 0
-
- TagListChBox5
- dc.l GT_Underscore,'_'
- dc.l GTCB_Checked
- RNCCheck dc.l 0
- dc.l 0
-
- ChBoxText5 dc.b '_RNC old',0
- CNOP 0,2
-
- ***************************************************************************
-
- SaveGad:
- dc.w ((400-(60*3)-(2*60))/2)+(60*0)+(60*0),160
- dc.w 60,14
- dc.l SaveText
- dc.l Font
- dc.w 10
- dc.l PLACETEXT_IN
- Visual12: dc.l 0
- dc.l 0
-
- SaveText: dc.b '_Save',0
- CNOP 0,2
-
- ***************************************************************************
-
- UseGad:
- dc.w ((400-(60*3)-(2*60))/2)+(60*1)+(60*1),160
- dc.w 60,14
- dc.l UseText
- dc.l Font
- dc.w 11
- dc.l PLACETEXT_IN
- Visual13: dc.l 0
- dc.l 0
-
- UseText: dc.b '_Use',0
- CNOP 0,2
-
- ***************************************************************************
-
- CancelGad:
- dc.w ((400-(60*3)-(2*60))/2)+(60*2)+(60*2),160
- dc.w 60,14
- dc.l CancelText
- dc.l Font
- dc.w 12
- dc.l PLACETEXT_IN
- Visual14: dc.l 0
- dc.l 0
-
- CancelText: dc.b '_Cancel',0
- CNOP 0,2
-
- ***************************************************************************
-
- InvertGad:
- dc.w 241,135
- dc.w 60,14
- dc.l InvertText
- dc.l Font
- dc.w 15
- dc.l PLACETEXT_IN
- Visual17: dc.l 0
- dc.l 0
-
- InvertText: dc.b 'In_vert',0
- CNOP 0,2
-
- ***************************************************************************
-
- ClearGad:
- dc.w 311,135
- dc.w 60,14
- dc.l ClearText
- dc.l Font
- dc.w 16
- dc.l PLACETEXT_IN
- Visual18: dc.l 0
- dc.l 0
-
- ClearText: dc.b 'C_lear',0
- CNOP 0,2
-
- ***************************************************************************
-
- ImageGad:
- dc.w 10,135
- dc.w 100,14
- dc.l ImageText
- dc.l Font
- dc.w 17
- dc.l PLACETEXT_IN
- Visual19: dc.l 0
- dc.l 0
-
- ImageText: dc.b 'Save i_mage',0
- CNOP 0,2
-
- ***************************************************************************
-
- ListViewGad:
- dc.w 230,35
- dc.w 152,95
- dc.l ListViewText
- dc.l Font
- dc.w 13
- dc.l PLACETEXT_ABOVE!NG_HIGHLABEL
- Visual15: dc.l 0
- dc.l 0
-
- TagListView:
- dc.l GTLV_Labels,ID_List
- dc.l GTLV_Top
- Top: dc.l 0
- dc.l 0
-
- ListViewText: dc.b 'Enable/Disable IDs',0
- CNOP 0,2
- ID_List:
- dc.l ID_Node0,0,ID_Node120,0
- ID_Node0:
- dc.l ID_Node1
- dc.l ID_List
- dc.b 0,0
- dc.l ID_Name0
- ID_Name0:
- dc.b ' 1 : CP ',0
- CNOP 0,2
- ID_Node1:
- dc.l ID_Node2
- dc.l ID_Node0
- dc.b 0,0
- dc.l ID_Name1
- ID_Name1:
- dc.b ' 2 : GP ',0
- CNOP 0,2
- ID_Node2:
- dc.l ID_Node3
- dc.l ID_Node1
- dc.b 0,0
- dc.l ID_Name2
- ID_Name2:
- dc.b ' 3 : JR ',0
- CNOP 0,2
- ID_Node3:
- dc.l ID_Node4
- dc.l ID_Node2
- dc.b 0,0
- dc.l ID_Name3
- ID_Name3:
- dc.b ' 4 : SA ',0
- CNOP 0,2
- ID_Node4:
- dc.l ID_Node5
- dc.l ID_Node3
- dc.b 0,0
- dc.l ID_Name4
- ID_Name4:
- dc.b ' 5 : SC ',0
- CNOP 0,2
- ID_Node5:
- dc.l ID_Node6
- dc.l ID_Node4
- dc.b 0,0
- dc.l ID_Name5
- ID_Name5:
- dc.b ' 6 : SF ',0
- CNOP 0,2
- ID_Node6:
- dc.l ID_Node7
- dc.l ID_Node5
- dc.b 0,0
- dc.l ID_Name6
- ID_Name6:
- dc.b ' 7 : SP ',0
- CNOP 0,2
- ID_Node7:
- dc.l ID_Node8
- dc.l ID_Node6
- dc.b 0,0
- dc.l ID_Name7
- ID_Name7:
- dc.b ' 8 : SQ ',0
- CNOP 0,2
- ID_Node8:
- dc.l ID_Node9
- dc.l ID_Node7
- dc.b 0,0
- dc.l ID_Name8
- ID_Name8:
- dc.b ' 9 : 1AM ',0
- CNOP 0,2
- ID_Node9:
- dc.l ID_Node10
- dc.l ID_Node8
- dc.b 0,0
- dc.l ID_Name9
- ID_Name9:
- dc.b ' 10 : 2AM ',0
- CNOP 0,2
- ID_Node10:
- dc.l ID_Node11
- dc.l ID_Node9
- dc.b 0,0
- dc.l ID_Name10
- ID_Name10:
- dc.b ' 11 : LOB ',0
- CNOP 0,2
- ID_Node11:
- dc.l ID_Node12
- dc.l ID_Node10
- dc.b 0,0
- dc.l ID_Name11
- ID_Name11:
- dc.b ' 12 : RLE ',0
- CNOP 0,2
- ID_Node12:
- dc.l ID_Node13
- dc.l ID_Node11
- dc.b 0,0
- dc.l ID_Name12
- ID_Name12:
- dc.b ' 13 : =SB= ',0
- CNOP 0,2
- ID_Node13:
- dc.l ID_Node14
- dc.l ID_Node12
- dc.b 0,0
- dc.l ID_Name13
- ID_Name13:
- dc.b ' 14 : $08090A08',0
- CNOP 0,2
- ID_Node14
- dc.l ID_Node15
- dc.l ID_Node13
- dc.b 0,0
- dc.l ID_Name14
- ID_Name14
- dc.b ' 15 : $08090A0A',0
- CNOP 0,2
- ID_Node15
- dc.l ID_Node16
- dc.l ID_Node14
- dc.b 0,0
- dc.l ID_Name15
- ID_Name15
- dc.b ' 16 : $08090A0B',0
- CNOP 0,2
- ID_Node16
- dc.l ID_Node17
- dc.l ID_Node15
- dc.b 0,0
- dc.l ID_Name16
- ID_Name16
- dc.b ' 17 : $08090A0C',0
- CNOP 0,2
- ID_Node17
- dc.l ID_Node18
- dc.l ID_Node16
- dc.b 0,0
- dc.l ID_Name17
- ID_Name17
- dc.b ' 18 : $08090A0D',0
- CNOP 0,2
- ID_Node18
- dc.l ID_Node19
- dc.l ID_Node17
- dc.b 0,0
- dc.l ID_Name18
- ID_Name18
- dc.b ' 19 : $09090909',0
- CNOP 0,2
- ID_Node19
- dc.l ID_Node20
- dc.l ID_Node18
- dc.b 0,0
- dc.l ID_Name19
- ID_Name19
- dc.b ' 20 : $090A0A0A',0
- CNOP 0,2
- ID_Node20
- dc.l ID_Node21
- dc.l ID_Node19
- dc.b 0,0
- dc.l ID_Name20
- ID_Name20
- dc.b ' 21 : $090A0B0B',0
- CNOP 0,2
- ID_Node21
- dc.l ID_Node22
- dc.l ID_Node20
- dc.b 0,0
- dc.l ID_Name21
- ID_Name21
- dc.b ' 22 : $090A0C0C',0
- CNOP 0,2
- ID_Node22
- dc.l ID_Node23
- dc.l ID_Node21
- dc.b 0,0
- dc.l ID_Name22
- ID_Name22
- dc.b ' 23 : $090A0C0D',0
- CNOP 0,2
- ID_Node23
- dc.l ID_Node24
- dc.l ID_Node22
- dc.b 0,0
- dc.l ID_Name23
- ID_Name23
- dc.b ' 24 : $18051973',0
- CNOP 0,2
- ID_Node24
- dc.l ID_Node25
- dc.l ID_Node23
- dc.b 0,0
- dc.l ID_Name24
- ID_Name24
- dc.b ' 25 : 0815 ',0
- CNOP 0,2
- ID_Node25
- dc.l ID_Node26
- dc.l ID_Node24
- dc.b 0,0
- dc.l ID_Name25
- ID_Name25
- dc.b ' 26 : !GC! ',0
- CNOP 0,2
- ID_Node26
- dc.l ID_Node27
- dc.l ID_Node25
- dc.b 0,0
- dc.l ID_Name26
- ID_Name26
- dc.b ' 27 : ACE! ',0
- CNOP 0,2
- ID_Node27
- dc.l ID_Node28
- dc.l ID_Node26
- dc.b 0,0
- dc.l ID_Name27
- ID_Name27
- dc.b ' 28 : ALC0 ',0
- CNOP 0,2
- ID_Node28
- dc.l ID_Node29
- dc.l ID_Node27
- dc.b 0,0
- dc.l ID_Name28
- ID_Name28
- dc.b ' 29 : ARP3 ',0
- CNOP 0,2
- ID_Node29
- dc.l ID_Node30
- dc.l ID_Node28
- dc.b 0,0
- dc.l ID_Name29
- ID_Name29
- dc.b ' 30 : ARPF ',0
- CNOP 0,2
- ID_Node30
- dc.l ID_Node31
- dc.l ID_Node29
- dc.b 0,0
- dc.l ID_Name30
- ID_Name30
- dc.b ' 31 : ATM5 ',0
- CNOP 0,2
- ID_Node31
- dc.l ID_Node32
- dc.l ID_Node30
- dc.b 0,0
- dc.l ID_Name31
- ID_Name31
- dc.b ' 32 : ATN! ',0
- CNOP 0,2
- ID_Node32
- dc.l ID_Node33
- dc.l ID_Node31
- dc.b 0,0
- dc.l ID_Name32
- ID_Name32
- dc.b ' 33 : ATOM ',0
- CNOP 0,2
- ID_Node33
- dc.l ID_Node34
- dc.l ID_Node32
- dc.b 0,0
- dc.l ID_Name33
- ID_Name33
- dc.b ' 34 : Ace? ',0
- CNOP 0,2
- ID_Node34
- dc.l ID_Node35
- dc.l ID_Node33
- dc.b 0,0
- dc.l ID_Name34
- ID_Name34
- dc.b ' 35 : ArcD ',0
- CNOP 0,2
- ID_Node35
- dc.l ID_Node36
- dc.l ID_Node34
- dc.b 0,0
- dc.l ID_Name35
- ID_Name35
- dc.b ' 36 : ArcR ',0
- CNOP 0,2
- ID_Node36
- dc.l ID_Node37
- dc.l ID_Node35
- dc.b 0,0
- dc.l ID_Name36
- ID_Name36
- dc.b ' 37 : arcD ',0
- CNOP 0,2
- ID_Node37
- dc.l ID_Node38
- dc.l ID_Node36
- dc.b 0,0
- dc.l ID_Name37
- ID_Name37
- dc.b ' 38 : BDPI ',0
- CNOP 0,2
- ID_Node38
- dc.l ID_Node39
- dc.l ID_Node37
- dc.b 0,0
- dc.l ID_Name38
- ID_Name38
- dc.b ' 39 : BH72 ',0
- CNOP 0,2
- ID_Node39
- dc.l ID_Node39a
- dc.l ID_Node38
- dc.b 0,0
- dc.l ID_Name39
- ID_Name39
- dc.b ' 40 : BH73 ',0
- CNOP 0,2
- ID_Node39a
- dc.l ID_Node40
- dc.l ID_Node39
- dc.b 0,0
- dc.l ID_Name39a
- ID_Name39a
- dc.b ' 41 : BHC3 ',0
- CNOP 0,2
- ID_Node40
- dc.l ID_Node41
- dc.l ID_Node39a
- dc.b 0,0
- dc.l ID_Name40
- ID_Name40
- dc.b ' 42 : BOND ',0
- CNOP 0,2
- ID_Node41
- dc.l ID_Node42
- dc.l ID_Node40
- dc.b 0,0
- dc.l ID_Name41
- ID_Name41
- dc.b ' 43 : CHFC ',0
- CNOP 0,2
- ID_Node42
- dc.l ID_Node43
- dc.l ID_Node41
- dc.b 0,0
- dc.l ID_Name42
- ID_Name42
- dc.b ' 44 : CHFI ',0
- CNOP 0,2
- ID_Node43
- dc.l ID_Node44
- dc.l ID_Node42
- dc.b 0,0
- dc.l ID_Name43
- ID_Name43
- dc.b ' 45 : CMP1 ',0
- CNOP 0,2
- ID_Node44
- dc.l ID_Node45
- dc.l ID_Node43
- dc.b 0,0
- dc.l ID_Name44
- ID_Name44
- dc.b ' 46 : CrM! ',0
- CNOP 0,2
- ID_Node45
- dc.l ID_Node46
- dc.l ID_Node44
- dc.b 0,0
- dc.l ID_Name45
- ID_Name45
- dc.b ' 47 : CrM2 ',0
- CNOP 0,2
- ID_Node46
- dc.l ID_Node47
- dc.l ID_Node45
- dc.b 0,0
- dc.l ID_Name46
- ID_Name46
- dc.b ' 48 : Crm! ',0
- CNOP 0,2
- ID_Node47
- dc.l ID_Node48
- dc.l ID_Node46
- dc.b 0,0
- dc.l ID_Name47
- ID_Name47
- dc.b ' 49 : Crm2 ',0
- CNOP 0,2
- ID_Node48
- dc.l ID_Node49
- dc.l ID_Node47
- dc.b 0,0
- dc.l ID_Name48
- ID_Name48
- dc.b ' 50 : CRND ',0
- CNOP 0,2
- ID_Node49
- dc.l ID_Node49a
- dc.l ID_Node48
- dc.b 0,0
- dc.l ID_Name49
- ID_Name49
- dc.b ' 51 : CRUa ',0
- CNOP 0,2
- ID_Node49a
- dc.l ID_Node50
- dc.l ID_Node49
- dc.b 0,0
- dc.l ID_Name49a
- ID_Name49a
- dc.b ' 52 : CRUN ',0
- CNOP 0,2
- ID_Node50
- dc.l ID_Node51
- dc.l ID_Node49a
- dc.b 0,0
- dc.l ID_Name50
- ID_Name50
- dc.b ' 53 : CSFX ',0
- CNOP 0,2
- ID_Node51
- dc.l ID_Node52
- dc.l ID_Node50
- dc.b 0,0
- dc.l ID_Name51
- ID_Name51
- dc.b ' 54 : D815 ',0
- CNOP 0,2
- ID_Node52
- dc.l ID_Node53
- dc.l ID_Node51
- dc.b 0,0
- dc.l ID_Name52
- ID_Name52
- dc.b ' 55 : DHp2 ',0
- CNOP 0,2
- ID_Node53
- dc.l ID_Node54
- dc.l ID_Node52
- dc.b 0,0
- dc.l ID_Name53
- ID_Name53
- dc.b ' 56 : DOUG ',0
- CNOP 0,2
- ID_Node54
- dc.l ID_Node55
- dc.l ID_Node53
- dc.b 0,0
- dc.l ID_Name54
- ID_Name54
- dc.b ' 57 : Dtpk ',0
- CNOP 0,2
- ID_Node55
- dc.l ID_Node56
- dc.l ID_Node54
- dc.b 0,0
- dc.l ID_Name55
- ID_Name55
- dc.b ' 58 : Dupa ',0
- CNOP 0,2
- ID_Node56
- dc.l ID_Node57
- dc.l ID_Node55
- dc.b 0,0
- dc.l ID_Name56
- ID_Name56
- dc.b ' 59 : EDAM ',0
- CNOP 0,2
- ID_Node57
- dc.l ID_Node58
- dc.l ID_Node56
- dc.b 0,0
- dc.l ID_Name57
- ID_Name57
- dc.b ' 60 : ESL! ',0
- CNOP 0,2
- ID_Node58
- dc.l ID_Node59
- dc.l ID_Node57
- dc.b 0,0
- dc.l ID_Name58
- ID_Name58
- dc.b ' 61 : FB@@ ',0
- CNOP 0,2
- ID_Node59
- dc.l ID_Node60
- dc.l ID_Node58
- dc.b 0,0
- dc.l ID_Name59
- ID_Name59
- dc.b ' 62 : FIRE ',0
- CNOP 0,2
- ID_Node60
- dc.l ID_Node61
- dc.l ID_Node59
- dc.b 0,0
- dc.l ID_Name60
- ID_Name60
- dc.b ' 63 : FLT! ',0
- CNOP 0,2
- ID_Node61
- dc.l ID_Node62
- dc.l ID_Node60
- dc.b 0,0
- dc.l ID_Name61
- ID_Name61
- dc.b ' 64 : FRED ',0
- CNOP 0,2
- ID_Node62
- dc.l ID_Node63
- dc.l ID_Node61
- dc.b 0,0
- dc.l ID_Name62
- ID_Name62
- dc.b ' 65 : GC!2 ',0
- CNOP 0,2
- ID_Node63
- dc.l ID_Node64
- dc.l ID_Node62
- dc.b 0,0
- dc.l ID_Name63
- ID_Name63
- dc.b ' 66 : GC!3 ',0
- CNOP 0,2
- ID_Node64
- dc.l ID_Node65
- dc.l ID_Node63
- dc.b 0,0
- dc.l ID_Name64
- ID_Name64
- dc.b ' 67 : GP11 ',0
- CNOP 0,2
- ID_Node65
- dc.l ID_Node66
- dc.l ID_Node64
- dc.b 0,0
- dc.l ID_Name65
- ID_Name65
- dc.b ' 68 : HAL! ',0
- CNOP 0,2
- ID_Node66
- dc.l ID_Node67
- dc.l ID_Node65
- dc.b 0,0
- dc.l ID_Name66
- ID_Name66
- dc.b ' 69 : HUF# ',0
- CNOP 0,2
- ID_Node67
- dc.l ID_Node68
- dc.l ID_Node66
- dc.b 0,0
- dc.l ID_Name67
- ID_Name67
- dc.b ' 70 : ICE! ',0
- CNOP 0,2
- ID_Node68
- dc.l ID_Node69
- dc.l ID_Node67
- dc.b 0,0
- dc.l ID_Name68
- ID_Name68
- dc.b ' 71 : IFT? ',0
- CNOP 0,2
- ID_Node69
- dc.l ID_Node70
- dc.l ID_Node68
- dc.b 0,0
- dc.l ID_Name69
- ID_Name69
- dc.b ' 72 : IMP! ',0
- CNOP 0,2
- ID_Node70
- dc.l ID_Node71
- dc.l ID_Node69
- dc.b 0,0
- dc.l ID_Name70
- ID_Name70
- dc.b ' 73 : Ice! ',0
- CNOP 0,2
- ID_Node71
- dc.l ID_Node72
- dc.l ID_Node70
- dc.b 0,0
- dc.l ID_Name71
- ID_Name71
- dc.b ' 74 : KDUB ',0
- CNOP 0,2
- ID_Node72
- dc.l ID_Node73
- dc.l ID_Node71
- dc.b 0,0
- dc.l ID_Name72
- ID_Name72
- dc.b ' 75 : LR88 ',0
- CNOP 0,2
- ID_Node73
- dc.l ID_Node74
- dc.l ID_Node72
- dc.b 0,0
- dc.l ID_Name73
- ID_Name73
- dc.b ' 76 : LSD! ',0
- CNOP 0,2
- ID_Node74
- dc.l ID_Node75
- dc.l ID_Node73
- dc.b 0,0
- dc.l ID_Name74
- ID_Name74:
- dc.b ' 77 : LZDA ',0
- CNOP 0,2
- ID_Node75
- dc.l ID_Node76
- dc.l ID_Node74
- dc.b 0,0
- dc.l ID_Name75
- ID_Name75
- dc.b ' 78 : LZSS ',0
- CNOP 0,2
- ID_Node76
- dc.l ID_Node77
- dc.l ID_Node75
- dc.b 0,0
- dc.l ID_Name76
- ID_Name76
- dc.b ' 79 : LZWH ',0
- CNOP 0,2
- ID_Node77
- dc.l ID_Node78
- dc.l ID_Node76
- dc.b 0,0
- dc.l ID_Name77
- ID_Name77
- dc.b ' 80 : LeCr ',0
- CNOP 0,2
- ID_Node78
- dc.l ID_Node79
- dc.l ID_Node77
- dc.b 0,0
- dc.l ID_Name78
- ID_Name78
- dc.b ' 81 : MASM ',0
- CNOP 0,2
- ID_Node79
- dc.l ID_Node80
- dc.l ID_Node78
- dc.b 0,0
- dc.l ID_Name79
- ID_Name79
- dc.b ' 82 : MASS ',0
- CNOP 0,2
- ID_Node80
- dc.l ID_Node81
- dc.l ID_Node79
- dc.b 0,0
- dc.l ID_Name80
- ID_Name80
- dc.b ' 83 : MD12 ',0
- CNOP 0,2
- ID_Node81
- dc.l ID_Node82
- dc.l ID_Node80
- dc.b 0,0
- dc.l ID_Name81
- ID_Name81
- dc.b ' 84 : MICK ',0
- CNOP 0,2
- ID_Node82
- dc.l ID_Node83
- dc.l ID_Node81
- dc.b 0,0
- dc.l ID_Name82
- ID_Name82
- dc.b ' 85 : MTP1 ',0
- CNOP 0,2
- ID_Node83
- dc.l ID_Node84
- dc.l ID_Node82
- dc.b 0,0
- dc.l ID_Name83
- ID_Name83
- dc.b ' 86 : MTPS ',0
- CNOP 0,2
- ID_Node84
- dc.l ID_Node85
- dc.l ID_Node83
- dc.b 0,0
- dc.l ID_Name84
- ID_Name84
- dc.b ' 87 : MWC1 ',0
- CNOP 0,2
- ID_Node85
- dc.l ID_Node86
- dc.l ID_Node84
- dc.b 0,0
- dc.l ID_Name85
- ID_Name85
- dc.b ' 88 : PAC1 ',0
- CNOP 0,2
- ID_Node86
- dc.l ID_Node87
- dc.l ID_Node85
- dc.b 0,0
- dc.l ID_Name86
- ID_Name86
- dc.b ' 89 : PACKV1.2 ',0
- CNOP 0,2
- ID_Node87
- dc.l ID_Node88
- dc.l ID_Node86
- dc.b 0,0
- dc.l ID_Name87
- ID_Name87
- dc.b ' 90 : PARA ',0
- CNOP 0,2
- ID_Node88
- dc.l ID_Node89
- dc.l ID_Node87
- dc.b 0,0
- dc.l ID_Name88
- ID_Name88
- dc.b ' 91 : PP20 ',0
- CNOP 0,2
- ID_Node89
- dc.l ID_Node90
- dc.l ID_Node88
- dc.b 0,0
- dc.l ID_Name89
- ID_Name89
- dc.b ' 92 : PaCK ',0
- CNOP 0,2
- ID_Node90
- dc.l ID_Node91
- dc.l ID_Node89
- dc.b 0,0
- dc.l ID_Name90
- ID_Name90
- dc.b ' 93 : PaK0 ',0
- CNOP 0,2
- ID_Node91
- dc.l ID_Node92
- dc.l ID_Node90
- dc.b 0,0
- dc.l ID_Name91
- ID_Name91
- dc.b ' 94 : pack ',0
- CNOP 0,2
- ID_Node92
- dc.l ID_Node93
- dc.l ID_Node91
- dc.b 0,0
- dc.l ID_Name92
- ID_Name92
- dc.b ' 95 : RNC0 ',0
- CNOP 0,2
- ID_Node93
- dc.l ID_Node94
- dc.l ID_Node92
- dc.b 0,0
- dc.l ID_Name93
- ID_Name93
- dc.b ' 96 : RNC1 ',0
- CNOP 0,2
- ID_Node94
- dc.l ID_Node95
- dc.l ID_Node93
- dc.b 0,0
- dc.l ID_Name94
- ID_Name94
- dc.b ' 97 : RNC2 ',0
- CNOP 0,2
- ID_Node95
- dc.l ID_Node96
- dc.l ID_Node94
- dc.b 0,0
- dc.l ID_Name95
- ID_Name95
- dc.b ' 98 : S300 ',0
- CNOP 0,2
- ID_Node96
- dc.l ID_Node97
- dc.l ID_Node95
- dc.b 0,0
- dc.l ID_Name96
- ID_Name96
- dc.b ' 99 : S310 ',0
- CNOP 0,2
- ID_Node97
- dc.l ID_Node98
- dc.l ID_Node96
- dc.b 0,0
- dc.l ID_Name97
- ID_Name97
- dc.b ' 100 : S400 ',0
- CNOP 0,2
- ID_Node98
- dc.l ID_Node99
- dc.l ID_Node97
- dc.b 0,0
- dc.l ID_Name98
- ID_Name98
- dc.b ' 101 : S401 ',0
- CNOP 0,2
- ID_Node99
- dc.l ID_Node100
- dc.l ID_Node98
- dc.b 0,0
- dc.l ID_Name99
- ID_Name99
- dc.b ' 102 : S403 ',0
- CNOP 0,2
- ID_Node100
- dc.l ID_Node101
- dc.l ID_Node99
- dc.b 0,0
- dc.l ID_Name100
- ID_Name100
- dc.b ' 103 : S404 ',0
- CNOP 0,2
- ID_Node101
- dc.l ID_Node102
- dc.l ID_Node100
- dc.b 0,0
- dc.l ID_Name101
- ID_Name101
- dc.b ' 104 : SFCD ',0
- CNOP 0,2
- ID_Node102
- dc.l ID_Node103
- dc.l ID_Node101
- dc.b 0,0
- dc.l ID_Name102
- ID_Name102
- dc.b ' 105 : SFHD ',0
- CNOP 0,2
- ID_Node103
- dc.l ID_Node104
- dc.l ID_Node102
- dc.b 0,0
- dc.l ID_Name103
- ID_Name103
- dc.b ' 106 : SLAM ',0
- CNOP 0,2
- ID_Node104
- dc.l ID_Node105
- dc.l ID_Node103
- dc.b 0,0
- dc.l ID_Name104
- ID_Name104
- dc.b ' 107 : SPv3 ',0
- CNOP 0,2
- ID_Node105
- dc.l ID_Node106
- dc.l ID_Node104
- dc.b 0,0
- dc.l ID_Name105
- ID_Name105
- dc.b ' 108 : SSUR ',0
- CNOP 0,2
- ID_Node106
- dc.l ID_Node107
- dc.l ID_Node105
- dc.b 0,0
- dc.l ID_Name106
- ID_Name106
- dc.b ' 109 : TITS ',0
- CNOP 0,2
- ID_Node107
- dc.l ID_Node108
- dc.l ID_Node106
- dc.b 0,0
- dc.l ID_Name107
- ID_Name107
- dc.b ' 110 : TPWM ',0
- CNOP 0,2
- ID_Node108
- dc.l ID_Node109
- dc.l ID_Node107
- dc.b 0,0
- dc.l ID_Name108
- ID_Name108
- dc.b ' 111 : TSM! ',0
- CNOP 0,2
- ID_Node109
- dc.l ID_Node110
- dc.l ID_Node108
- dc.b 0,0
- dc.l ID_Name109
- ID_Name109
- dc.b ' 112 : Taz! ',0
- CNOP 0,2
- ID_Node110
- dc.l ID_Node111
- dc.l ID_Node109
- dc.b 0,0
- dc.l ID_Name110
- ID_Name110
- dc.b ' 113 : VDCO ',0
- CNOP 0,2
- ID_Node111
- dc.l ID_Node112
- dc.l ID_Node110
- dc.b 0,0
- dc.l ID_Name111
- ID_Name111
- dc.b ' 114 : VOL1 ',0
- CNOP 0,2
- ID_Node112
- dc.l ID_Node113
- dc.l ID_Node111
- dc.b 0,0
- dc.l ID_Name112
- ID_Name112
- dc.b ' 115 : ViS1 ',0
- CNOP 0,2
- ID_Node113
- dc.l ID_Node114
- dc.l ID_Node112
- dc.b 0,0
- dc.l ID_Name113
- ID_Name113
- dc.b ' 116 : ViSL ',0
- CNOP 0,2
- ID_Node114
- dc.l ID_Node115
- dc.l ID_Node113
- dc.b 0,0
- dc.l ID_Name114
- ID_Name114
- dc.b ' 117 : Vic2 ',0
- CNOP 0,2
- ID_Node115
- dc.l ID_Node116
- dc.l ID_Node114
- dc.b 0,0
- dc.l ID_Name115
- ID_Name115
- dc.b ' 118 : WJSD ',0
- CNOP 0,2
- ID_Node116
- dc.l ID_Node117
- dc.l ID_Node115
- dc.b 0,0
- dc.l ID_Name116
- ID_Name116
- dc.b ' 119 : XP10 ',0
- CNOP 0,2
- ID_Node117
- dc.l ID_Node118
- dc.l ID_Node116
- dc.b 0,0
- dc.l ID_Name117
- ID_Name117
- dc.b ' 120 : XPKF ',0
- CNOP 0,2
- ID_Node118
- dc.l ID_Node119
- dc.l ID_Node117
- dc.b 0,0
- dc.l ID_Name118
- ID_Name118
- dc.b ' 121 : XPKZ ',0
- CNOP 0,2
- ID_Node119
- dc.l ID_Node120
- dc.l ID_Node118
- dc.b 0,0
- dc.l ID_Name119
- ID_Name119
- dc.b ' 122 : XX50 ',0
- CNOP 0,2
- ID_Node120
- dc.l ID_Node121
- dc.l ID_Node119
- dc.b 0,0
- dc.l ID_Name120
- ID_Name120
- dc.b ' 123 : xVdg ',0
- CNOP 0,2
- ID_Node121
- dc.l ID_List+4
- dc.l ID_Node120
- dc.b 0,0
- dc.l ID_Name121
- ID_Name121
- dc.b ' 124 : xXxX ',0
- CNOP 0,2
-
- ***************************************************************************
-
- EnableID:
- dc.l ID_Name0
- dc.l ID_Name1
- dc.l ID_Name2
- dc.l ID_Name3
- dc.l ID_Name4
- dc.l ID_Name5
- dc.l ID_Name6
- dc.l ID_Name7
- dc.l ID_Name8
- dc.l ID_Name9
- dc.l ID_Name10
- dc.l ID_Name11
- dc.l ID_Name12
- dc.l ID_Name13
- dc.l ID_Name14
- dc.l ID_Name15
- dc.l ID_Name16
- dc.l ID_Name17
- dc.l ID_Name18
- dc.l ID_Name19
- dc.l ID_Name20
- dc.l ID_Name21
- dc.l ID_Name22
- dc.l ID_Name23
- dc.l ID_Name24
- dc.l ID_Name25
- dc.l ID_Name26
- dc.l ID_Name27
- dc.l ID_Name28
- dc.l ID_Name29
- dc.l ID_Name30
- dc.l ID_Name31
- dc.l ID_Name32
- dc.l ID_Name33
- dc.l ID_Name34
- dc.l ID_Name35
- dc.l ID_Name36
- dc.l ID_Name37
- dc.l ID_Name38
- dc.l ID_Name39
- dc.l ID_Name39a
- dc.l ID_Name40
- dc.l ID_Name41
- dc.l ID_Name42
- dc.l ID_Name43
- dc.l ID_Name44
- dc.l ID_Name45
- dc.l ID_Name46
- dc.l ID_Name47
- dc.l ID_Name48
- dc.l ID_Name49
- dc.l ID_Name49a
- dc.l ID_Name50
- dc.l ID_Name51
- dc.l ID_Name52
- dc.l ID_Name53
- dc.l ID_Name54
- dc.l ID_Name55
- dc.l ID_Name56
- dc.l ID_Name57
- dc.l ID_Name58
- dc.l ID_Name59
- dc.l ID_Name60
- dc.l ID_Name61
- dc.l ID_Name62
- dc.l ID_Name63
- dc.l ID_Name64
- dc.l ID_Name65
- dc.l ID_Name66
- dc.l ID_Name67
- dc.l ID_Name68
- dc.l ID_Name69
- dc.l ID_Name70
- dc.l ID_Name71
- dc.l ID_Name72
- dc.l ID_Name73
- dc.l ID_Name74
- dc.l ID_Name75
- dc.l ID_Name76
- dc.l ID_Name77
- dc.l ID_Name78
- dc.l ID_Name79
- dc.l ID_Name80
- dc.l ID_Name81
- dc.l ID_Name82
- dc.l ID_Name83
- dc.l ID_Name84
- dc.l ID_Name85
- dc.l ID_Name86
- dc.l ID_Name87
- dc.l ID_Name88
- dc.l ID_Name89
- dc.l ID_Name90
- dc.l ID_Name91
- dc.l ID_Name92
- dc.l ID_Name93
- dc.l ID_Name94
- dc.l ID_Name95
- dc.l ID_Name96
- dc.l ID_Name97
- dc.l ID_Name98
- dc.l ID_Name99
- dc.l ID_Name100
- dc.l ID_Name101
- dc.l ID_Name102
- dc.l ID_Name103
- dc.l ID_Name104
- dc.l ID_Name105
- dc.l ID_Name106
- dc.l ID_Name107
- dc.l ID_Name108
- dc.l ID_Name109
- dc.l ID_Name110
- dc.l ID_Name111
- dc.l ID_Name112
- dc.l ID_Name113
- dc.l ID_Name114
- dc.l ID_Name115
- dc.l ID_Name116
- dc.l ID_Name117
- dc.l ID_Name118
- dc.l ID_Name119
- dc.l ID_Name120
- dc.l ID_Name121
- dc.l 0
-
- ***************************************************************************
-
- PutChData: ds.b 100
- DiskIO: ds.l 20
- DiskRep: ds.l 8
- FileNameL: ds.b 108
- FullNameL: ds.b 256
- FileNameS: ds.b 108
- FullNameS: ds.b 256
- CNOP 0,4
- Bufor: ds.b 260
-